获取Node.js npm命令以在公司代理后面工作

时间:2013-11-06 22:50:32

标签: node.js npm

我正在尝试安装凉亭

npm install -g bower

但是我们的代理

收到了身份验证错误

... npm http 407 http://registry.npmjs.org/bower ... 错误代码:407需要代理验证。 ...

我想让npm在公司代理服务器后面工作。我认为我们的代理有点奇怪,因为我能够获得maven下载包的唯一方法是添加wagon-http-lightweight.jar作为maven扩展。

http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight/

我已尝试过如下所述的所有常规内容: Is there a way to make npm install (the command) to work behind proxy?

(我不需要在我的maven代理设置中提供身份验证详细信息。)

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

我还能尝试什么?

4 个答案:

答案 0 :(得分:8)

可以尝试这个....为我工作。

  • 打开IE浏览器(Chrome不适用于我)。
  • 点击网址http://registry.npmjs.org
  • 如果成功,它将下载json输出。

现在返回命令提示符并尝试npm install。

答案 1 :(得分:4)

我能够通过安装本地代理来实现这一目的:

NPM behind NTLM proxy

答案 2 :(得分:3)

使用fiddler http://www.telerik.com/fiddler 安装并运行就是这样,一切都将按预期运行。我花了半天时间在这上面 编辑:老实说,我不知道是不是小提琴或其他我试过修复它的东西(主要是后者)但是你应该尝试设置注册表,http-proxy,proxy和strict-ssl

当HTTP代理需要身份验证时:

可以将Fiddler配置为使用NTLM或其他协议对公司HTTP代理进行身份验证。保留现有的自动身份验证选项/规则默认值。而是从菜单栏转到此设置:

工具> Telerik Fiddler选项> “连接”选项卡

单击允许远程计算机连接复选框。您将看到一个对话框,说明启用此选项的后果。重新启动Fiddler并更新 .npmrc 文件,如上所示。每当你需要npm访问注册表站点时,只需运行Fiddler。此设置不会影响Fiddler运行其他捕获的方式。

答案 3 :(得分:2)

我有同样的问题。 根本原因是我的密码包含特殊字符“#”,当我npm设置配置代理时,该字符在.npmrc文件中变成了“#”,因此我更改密码以删除特殊字符,它可以正常工作。 如果您的密码不包含特殊字符,只需使用下面的语法命令即可。

npm config set strict-ssl=false
npm config set proxy http://<username>:<password>@<proxy-server-url>:<port>
npm config set https-proxy http://<username>:<password>@<proxy-server-url>:<port>

谢谢