节点 NPM 代理身份验证 - 我如何配置它?
Posted
技术标签:
【中文标题】节点 NPM 代理身份验证 - 我如何配置它?【英文标题】:Node NPM proxy authentication - how do I configure it? 【发布时间】:2017-03-03 11:42:48 【问题描述】:我是 Node 新手,正在尝试使用以下命令安装 TypeScript:
npm install -g typescript
我收到以下错误:
if you are behind a proxy, please make sure that the 'proxy' config is set properly.
我已使用以下命令设置代理:
npm config set proxy http://Username:Pa55w0rd@proxyhostname
npm config set https-proxy http://Username:Pa55w0rd@proxyhostname
也试过了:
npm config set proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com
npm config set https-proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com
但它们都不起作用。我在一个带有身份验证的 copmpany 代理后面工作,所以我认为这阻止了我连接。我已经添加了我的用户名和密码,这也没有用。
有人知道如何在使用公司代理和身份验证的同时连接到 npm 吗?
谢谢
【问题讨论】:
使用这个solution。它对我有用。 确保将密码中的@
编码为%40
。否则它可能会认为ninjadev:5trongP
是用户/通行证,ssw0rd"@proxy.some-bigcorp.com
(或类似的东西)将是主机。
【参考方案1】:
你试过了吗
npm config set proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com:PORT
npm config set https-proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com:PORT
如果您没有代理端口,那么 PORT 可以是 8080 吗?
【讨论】:
注意不能解析包含@的密码。 @FaizanMubasher 对于带有@
或其他有意义的特殊字符的密码,将它们替换为encodeURIComponent
版本。例如,@
变为 %40
。【参考方案2】:
这对我有用:
npm config set https-proxy "ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com:PORT
之前没有http/https
。
【讨论】:
也为我工作,应该标记为答案,nicedone @Supersharp【参考方案3】:以下代码对我有用:
npm config set proxy "http://"username:password"@proxy.big-corp.com"
【讨论】:
【参考方案4】:这件事对我有用:
npm config set proxy http://"ninjadev:5trongP@ssw0rd"@proxy.some-bigcorp.com:PORT
以管理员身份打开cmd
并在此处输入命令。使用为您的用户提供的凭据修改命令。
【讨论】:
【参考方案5】:在 ubuntu-18.04 中确保在主目录 .npmrc
文件中包含:
proxy=http://username:password@proxyhostname:port
https-proxy=http://username:password@proxyhostname:port
【讨论】:
点评来源: 嗨,这篇文章似乎没有为问题提供quality answer。请编辑您的答案并改进它,或者将其作为评论发布。以上是关于节点 NPM 代理身份验证 - 我如何配置它?的主要内容,如果未能解决你的问题,请参考以下文章