Embark
Embark 命令“embark ipfs”中的問題
我正在使用 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;
該文件指定:
要將 dapp 部署到 IPFS,您需要做的就是執行本地 IPFS 節點,然後執行
embark ipfs
. 如果您想部署到 livenet,那麼在環境上配置您的帳戶config/blockchain.json
之後,production
您可以通過指定 environment 部署到該鏈embark ipfs production
。我假設您沒有先執行本地節點。要執行本地 IPFS 節點,請閱讀IPFS:入門
要在 livenet 上執行,請配置
blockchain.json
,然後執行embark ipfs production