NPM代理背后的角色" @"在我的密码

时间:2018-01-12 10:15:30

标签: node.js npm proxy

我正在尝试设置NPM(v9.4.0)代理,但在运行npm i -g npm@latest时遇到以下错误:

npm ERR! code E407
npm ERR! 407 Proxy Authentication Required: npm@latest

我用于代理的密码包含" @"我怀疑这是问题的根本原因。我尝试过" \"在" @"之前还有

npm config set proxy http://"user:MyP@ssword"@proxy.big.corp.fr:8080
npm config set https-proxy http://"user:MyP@ssword"@proxy.big.corp.fr:8080

但没有成功。有没有人有想法?

3 个答案:

答案 0 :(得分:7)

经过多次关于这个问题的研究并测试了10个以上的解决方案,比如用这个命令设置:

npm config set proxy“http://domain%5Cusername:password@servername:port/

但不适合我。 然后测试CNTLM,但CNTLM对我不起作用。我尝试了所有可能的组合。 NPM正在提供身份验证错误。 最后我测试了Fiddler并节省了我的时间。它易于安装和配置。打开Fiddler =>规则=>自动验证。

打开C:\ Users \您的用户名\ .npmrc文件并使用此配置

注册表= http://registry.npmjs.org

代理= http://127.0.0.1:8888

HTTPS代理= http://127.0.0.1:8888

HTTP代理= http://127.0.0.1:8888

严格的SSL =真

删除此路径中的npm文件夹C:\ Users \ your username \ AppData \ Roaming。 使用以下命令:

npm install express npm uninstall -g @ angular / cli npm cache clean --force npm install -g @ angular / cli

答案 1 :(得分:1)

您也可以将密码转换为BASE64编码

npm config set proxy http://<user>:<base64 password>@proxy.big.corp.fr:8080

样品:

npm config set proxy http://myuser:bXlwYXNzd29yZA==@proxy.big.corp.fr:8080

转换使用网站https://www.base64encode.org/

答案 2 :(得分:0)

我检查并发现,在我公司,存在一个匿名代理。这也解决了我的问题。