npm install ERR_INVALID_URL错误
我在terminal中设置了proxy后,开启proxyon后,执行npm install包错误:
(proxyon是通过在~/.zshrc 中添加export http_proxy来实现的)
把proxyoff后,错误又没有了,不知道是啥问题。如果碰到这个问题就用:
npm config set proxy http://127.0.0.1:1087
npm config set https-proxy http://127.0.0.1:1087 (这个可能可以不要)
如果删除,可以用:
npm config rm proxy
npm config rm https-proxy
查询npm config的命令:npm config ls -l
后来又有这个错误:503 Too many open connections (可能是npm产生了大量的连接,我的proxy支持不了这么多连接), 参考:https://blog.csdn.net/saxihuangxing/article/details/108538337
加上 --maxsockets=1, npm install --maxsockets=1
下面的文章可能有作用:
-----------------------------------------------------------------------------
实在不行就换成淘宝的地址源:
npm config set registry https://registry.npm.taobao.org
npm info underscore (如果上面配置正确这个命令会有字符串response)
原来的源: npm config set registry https://registry.npmjs.org/
npm config get registry
---------------------- 这个错误的根本原因 --------------------------------
错误的根本原因是:我的~/.zshrc中的http_proxy和https_proxy设置的是127.0.0.1:port, 而nodejs的有些包直接读取了这个值,然后用了nodejs的url方法,结果就错误了,错误代码为:
const parsedProxy = (typeof proxy === 'string') ? new url.URL(proxy) : proxy。 (node库的make-fetch-happen这个组件中的agent.js报错的)
修复方式:把http_proxy改成http://127.0.0.1:port就可以了。