阅读.npmrc文件中的代理变量,但它不起作用。尽量避免手动下载所有需要的包并安装。


当前回答

对我来说,尽管python等都可以工作,但我们的公司代理npm不会。

我试着

NPM配置设置代理http://proxyccc.xxx.ca:8080 NPM配置http -proxy https://proxyccc.xxx.ca:8080 NPM配置设置注册表http://registry.npmjs.org/

按照指示,但总是得到相同的错误。

只是当我移开的时候 https-proxy https://proxyccc.xxx.ca: 8080 从.npmrc文件 那 NPM安装电子——save-dev工作正常

其他回答

这对我来说在Windows中是有效的:

npm config set proxy http://domain%5Cuser:pass@host:port

如果您不在任何域中,请使用:

npm config set proxy http://user:pass@host:port

如果您的密码包含特殊字符,如“,@,:等,请将它们替换为URL编码值。例如“->%22,@->%40,:->%3A。%5C用于字符\。

我的问题归结为我犯了一个愚蠢的错误。因为我很快有一天把我的代理放到一个windows *.bat文件(http_proxy, https_proxy和ftp_proxy),我忘记转义url编码的域\用户(%5C)的特殊字符,密码有问号'?”(% 3 f)。也就是说,一旦您有了编码命令,不要忘记在bat文件命令中转义'%'。

我改变了

set http_proxy=http://domain%5Cuser:password%3F@myproxy:8080

to

set http_proxy=http://domain%%5Cuser:password%%3F@myproxy:8080

也许这是一个边缘情况,但希望它能帮助到一些人。

打开新终端,输入npm config edit和npm config -g edit。重置为默认值。关闭终端后,打开新终端,输入npm——without-ssl——insecure——proxy http://username:password@proxy:8080 install <package>如果你需要全局添加-g。

这对我很有用,希望对你也有用:)

Windows系统

尝试删除代理和注册表设置(如果已经设置),并通过命令行设置环境变量

SET HTTP_PROXY=http://username:password@domain:port
SET HTTPS_PROXY=http://username:password@domain:port

然后尝试运行NPM install。这样,你就不用在.npmrc中设置代理了,但是对于那个会话,它是可以工作的。

要设置http代理,请设置-g标志:

Sudo NPM配置代理http://proxy_host:port -g

对于https代理,再次确保设置了-g标志:

Sudo NPM配置http -proxy http://proxy_host:port -g