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


当前回答

在最后捆绑了不同的答案后,@Kayvar回答的前四行帮助我解决了这个问题:

npm config set registry http://registry.npmjs.org/
npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set strict-ssl false

其他回答

对于这个问题,上面有很多答案,但没有一个对我有用。他们都提到要添加http://前缀。所以我也加了进去。都失败了。

它终于工作后,我不小心删除了http://前缀。最终配置如下:

npm config set registry http://registry.npmjs.org/
npm config set http-proxy ip:port
npm config set https-proxy ip:port
npm config set proxy ip:port
npm set strict-ssl false

我不知道这背后的逻辑,但它奏效了。如果以上答案都不适合你,也许你可以试试这种方法。希望这个对你有用。

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

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

以下是我所遵循的步骤(Windows):

编辑以下文件C:\Users\<WIN_USERNAME>\.npmrc . txt 将证书从以下地址导出到您的文件系统:https://registry.npmjs.org 导航到导出的证书位置并发出以下命令: NPM配置npm_certificate.cer 对文件进行如下修改: 注册表= https://registry.npmjs.org/ strict-ssl = false https-proxy = http:// [proxy_user]: [proxy_password] @ [proxy_ip]: [proxy_port] / cafile = npm_certificate.cer

现在你应该准备好了!

在cmd或GIT Bash或其他提示符下使用以下命令

$ NPM配置代理http://192.168.1.101:4128

$ NPM配置http -proxy http://192.168.1.101:4128

其中192.168.1.101为代理IP, 4128为端口。根据您的代理设置进行更改。这对我很有用。

我的问题归结为我犯了一个愚蠢的错误。因为我很快有一天把我的代理放到一个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

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