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


当前回答

我是这样解决这个问题的:

我运行这个命令: NPM配置strict-ssl为false 然后设置npm运行http,而不是https: NPM配置注册表http://registry.npmjs.org/ 然后我使用下面的语法安装包: NPM——proxy http://username:password@cacheaddress.com.br:80安装packagename

如果代理不要求您进行身份验证,则跳过用户名:密码部分

编辑:我的一个朋友刚刚指出,你可以通过设置HTTP_PROXY和HTTPS_PROXY环境变量来让NPM在代理后工作,然后正常地发出命令NPM install express(例如)

EDIT2:正如@ bstruthers评论的那样,请记住,包含“@”的密码不会被正确解析,如果包含@,则将整个密码放在引号中

其他回答

这对我很管用。 设置http和https代理。

NPM配置设置代理http://proxy.company.com:8080 NPM配置http -proxy http://proxy.company.com:8080

虽然我在配置中设置了代理,但问题并没有解决 这个对我很有用:

npm——http -proxy http://XX.AA.AA.BB:8080安装cordova插件 npm——代理http://XX.AA.AA.BB:8080安装

去环境变量和删除或设置为空

HTTP_PROXY和HTTPS_PROXY

这也将解决企业环境的代理问题

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

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

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

Sudo NPM配置http -proxy http://proxy_host:port -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

现在你应该准备好了!