运行后npm shrinkwrap
我发现我们有很多对 localhost 的引用:
egrep localhost npm-shrinkwrap.json
"resolved": "http://localhost:4873/constants-browserify/-/constants-browserify-0.0.1.tgz"
"resolved": "http://localhost:4873/https-browserify/-/https-browserify-0.0.0.tgz"
"resolved": "http://localhost:4873/path-browserify/-/path-browserify-0.0.0.tgz"
"resolved": "http://localhost:4873/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz"
"resolved": "http://localhost:4873/ripemd160/-/ripemd160-0.2.0.tgz"
"resolved": "http://localhost:4873/sha.js/-/sha.js-2.2.6.tgz"
"resolved": "http://localhost:4873/shimmer/-/shimmer-1.1.0.tgz"
"resolved": "http://localhost:4873/tty-browserify/-/tty-browserify-0.0.0.tgz"
"resolved": "http://localhost:4873/utils-merge/-/utils-merge-1.0.0.tgz"
"resolved": "http://localhost:4873/vm-browserify/-/vm-browserify-0.0.4.tgz"
原来这些引用也在原始 node_modules 中:
egrep 'localhost:4873' node_modules/ -r
node_modules/path-browserify/package.json: "_resolved": "http://localhost:4873/path-browserify/-/path-browserify-0.0.0.tgz",
node_modules/utils-merge/package.json: "_resolved": "http://localhost:4873/utils-merge/-/utils-merge-1.0.0.tgz",
node_modules/ripemd160/package.json: "_resolved": "http://localhost:4873/ripemd160/-/ripemd160-0.2.0.tgz",
node_modules/constants-browserify/package.json: "_resolved": "http://localhost:4873/constants-browserify/-/constants-browserify-0.0.1.tgz",
node_modules/tty-browserify/package.json: "_resolved": "http://localhost:4873/tty-browserify/-/tty-browserify-0.0.0.tgz",
node_modules/vm-browserify/package.json: "_resolved": "http://localhost:4873/vm-browserify/-/vm-browserify-0.0.4.tgz",
node_modules/shimmer/package.json: "_resolved": "http://localhost:4873/shimmer/-/shimmer-1.1.0.tgz",
node_modules/https-browserify/package.json: "_resolved": "http://localhost:4873/https-browserify/-/https-browserify-0.0.0.tgz",
node_modules/pbkdf2-compat/package.json: "_resolved": "http://localhost:4873/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
node_modules/sha.js/package.json: "_resolved": "http://localhost:4873/sha.js/-/sha.js-2.2.6.tgz",
所以这意味着我在安装时会遇到很多获取和重试错误:
npm ERR! fetch failed http://localhost:4873/constants-browserify/-/constants-browserify-0.0.1.tgz
npm WARN retry will retry, error on last attempt: Error: connect ECONNREFUSED 127.0.0.1:4873
npm ERR! fetch failed http://localhost:4873/https-browserify/-/https-browserify-0.0.0.tgz
npm WARN retry will retry, error on last attempt: Error: connect ECONNREFUSED 127.0.0.1:4873
...
这不可能。解决此问题的最佳方法是什么?