Embark

Embark 命令“embark ipfs”中的問題

  • January 12, 2017

我正在使用 Embark 2.1 版。我使用了命令“embark ipfs”,但它返回以下錯誤。

/usr/local/bin/ipfs
/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/node_modules/solc/soljson.js:1
(function (exports, require, module, __filename, __dirname) { var  Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var  moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x) {process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=

ReferenceError: build_dir is not defined
at IPFS.deploy (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/lib/ipfs.js:16:37)
at Object.ipfs (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/lib/index.js:265:10)
at Command.<anonymous> (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/lib/cmd.js:136:17)
at Command.listener (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/node_modules/commander/index.js:301:8)
at emitTwo (events.js:106:13)
at Command.emit (events.js:191:7)
at Command.parseArgs (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/node_modules/commander/index.js:615:12)
at Command.parse (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/node_modules/commander/index.js:458:21)
at Cmd.process (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/lib/cmd.js:19:11)
at Object.process (/home/toshiba/.nvm/versions/node/v6.9.1/lib/node_modules/embark/lib/index.js:31:9)

我該如何解決這個問題?

這已在 2.2.0 中修復,請更新到 2.2.0 並使用新命令embark upload ipfs。您需要執行 ipfs 節點。

此問題與 Embark 相關,與乙太坊無關。

錯誤的來源是 ipfs.js 中的這一

var cmd = ipfs_bin + " add -r " + build_dir;

確保您遵循安裝EmbarkJS

文件指定:

要將 dapp 部署到 IPFS,您需要做的就是執行本地 IPFS 節點,然後執行embark ipfs. 如果您想部署到 livenet,那麼在環境上配置您的帳戶config/blockchain.json之後,production您可以通過指定 environment 部署到該鏈embark ipfs production

我假設您沒有先執行本地節點。要執行本地 IPFS 節點,請閱讀IPFS:入門

要在 livenet 上執行,請配置blockchain.json,然後執行embark ipfs production

引用自:https://ethereum.stackexchange.com/questions/11336