执行 "Truffle init" 时出错
error on doing "Truffle init"
我是智能合约编程的新手,最近在 Node 上使用 npm 安装了 truffle(版本:6.10.3)
当我第一次 运行 命令 truffle init
时,我收到这个错误:
events.js:160
throw er; // Unhandled 'error' event
^
Error: connect ETIMEDOUT 151.101.8.133:443
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14)
下次我 运行 truffle init
,我得到了这个错误:
events.js:160
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:1018:11)
at TLSWrap.onread (net.js:568:26)
关于如何解决这个问题的任何想法
如果没有代码,很难说哪里出了问题。但是你在 truffle 配置中指定的端口上有一个 ethereum rpc 节点 运行 吗?
在检查您的错误代码时,我看到您尝试连接到 151.101.8.133:443 此端口上是否有 rpc 节点 运行?
当我尝试在公司 http 代理后面执行 truffle init 并找到解决方法时,我也遇到了类似的问题。
修改了 cli.bundled.js:将 https.request 替换为 request
差异:
diff --git a/build/cli.bundled.js b/build/cli.bundled.js
index 01c69e3..aa2605c 100755
--- a/build/cli.bundled.js
+++ b/build/cli.bundled.js
@@ -202412,12 +202412,8 @@ var Init = {
// will fail spectacularly in a way we can't catch, so we have to do it ourselves.
return new Promise(function(accept, reject) {
- var options = {
- method: 'HEAD',
- host: 'raw.githubusercontent.com',
- path: '/trufflesuite/' + expected_full_name + "/master/truffle.js"
- };
- req = https.request(options, function(r) {
+ var request = require('request');
+ request({ method: 'HEAD', uri: 'https://raw.githubusercontent.com/trufflesuite/'+expected_full_name+'/master/truffle.js'}, function (error, r, body) {
if (r.statusCode == 404) {
return reject(new Error("Example '" + name + "' doesn't exist. If you believe this is an error, please contact Truffle support."));
} else if (r.statusCode != 200) {
@@ -202425,7 +202421,6 @@ var Init = {
}
accept();
});
- req.end();
});
}).then(function() {
@@ -212634,4 +212629,4 @@ module.exports = require("solc");
module.exports = require("string_decoder");
/***/ })
-/******/ ]);
\ No newline at end of file
+/******/ ]);
先决条件:
- 通过 npm 安装请求(npm install -g request)
- 代理 - 按照描述设置环境 here
我是智能合约编程的新手,最近在 Node 上使用 npm 安装了 truffle(版本:6.10.3)
当我第一次 运行 命令 truffle init
时,我收到这个错误:
events.js:160
throw er; // Unhandled 'error' event
^
Error: connect ETIMEDOUT 151.101.8.133:443
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14)
下次我 运行 truffle init
,我得到了这个错误:
events.js:160
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:1018:11)
at TLSWrap.onread (net.js:568:26)
关于如何解决这个问题的任何想法
如果没有代码,很难说哪里出了问题。但是你在 truffle 配置中指定的端口上有一个 ethereum rpc 节点 运行 吗?
在检查您的错误代码时,我看到您尝试连接到 151.101.8.133:443 此端口上是否有 rpc 节点 运行?
当我尝试在公司 http 代理后面执行 truffle init 并找到解决方法时,我也遇到了类似的问题。
修改了 cli.bundled.js:将 https.request 替换为 request
差异:
diff --git a/build/cli.bundled.js b/build/cli.bundled.js index 01c69e3..aa2605c 100755 --- a/build/cli.bundled.js +++ b/build/cli.bundled.js @@ -202412,12 +202412,8 @@ var Init = { // will fail spectacularly in a way we can't catch, so we have to do it ourselves. return new Promise(function(accept, reject) { - var options = { - method: 'HEAD', - host: 'raw.githubusercontent.com', - path: '/trufflesuite/' + expected_full_name + "/master/truffle.js" - }; - req = https.request(options, function(r) { + var request = require('request'); + request({ method: 'HEAD', uri: 'https://raw.githubusercontent.com/trufflesuite/'+expected_full_name+'/master/truffle.js'}, function (error, r, body) { if (r.statusCode == 404) { return reject(new Error("Example '" + name + "' doesn't exist. If you believe this is an error, please contact Truffle support.")); } else if (r.statusCode != 200) { @@ -202425,7 +202421,6 @@ var Init = { } accept(); }); - req.end(); }); }).then(function() { @@ -212634,4 +212629,4 @@ module.exports = require("solc"); module.exports = require("string_decoder"); /***/ }) -/******/ ]); \ No newline at end of file +/******/ ]);
先决条件:
- 通过 npm 安装请求(npm install -g request)
- 代理 - 按照描述设置环境 here