NPM安装不使用代理周围的工件

时间:2014-06-30 21:28:33

标签: node.js proxy npm artifactory

所以基本上我是尝试使用npm install从https://registry.npmjs.org/下载软件包,但我是在代理下。

我已经设置了一个远程存储库,它将使用工件命中(在链接之上)和缓存,这样我就可以在本地提取,但它似乎不起作用。

遵循以下指示:http://www.jfrog.com/confluence/display/RTF/Npm+Repositories

其他人遇到代理问题?我已经看到很多关于更改配置设置的帖子,但这不是我需要的,我必须遵循artifactory来获得我需要的东西,并且我已经相应地改变了我的配置设置,如何神秘建议,即npm config set registry

谢谢!

3 个答案:

答案 0 :(得分:13)

错误消息表明npm尝试寻找名为' artifactory'而不是' bower' :

  

' artifactory的'不在npm注册表中

由于各种错误配置,可能会发生这种情况:

  1. 配置Artifactory存储库以使用错误的注册表URL,如https://registry.npmjs.org/artifactory
  2. 配置npm以使用错误的注册网址:npm config set registry http://myserver:8081/artifactory/api/npm/npmjs-registry/artifactory
  3. 这两种情况都会导致Artifactory使用以下网址向公共注册管理机构发送请求:https://registry.npmjs.org/artifactory/bower而不是https://registry.npmjs.org/bower

    为确保您的设置正确无误,请尝试以下操作:

    1. 点击"测试" Artifactory中的按钮"编辑远程存储库"用于验证注册表URL是否正确且Artifactory可以访问它的窗口
    2. 验证.npmrc配置文件中存储的注册表URL。例如,您可以发送获取' bower'包裹信息:curl -vv http://myserver:8081/artifactory/api/npm/npm-repo-name/bower

    3. 如果npm install仍然失败,请查看npm-debug.log和Artifactory日志文件以获取更多信息

答案 1 :(得分:2)

除上述答案外,请确保已将以下选项添加到属性文件中。

$ ARTIFACTORY_HOME / tomcat / conf / catalina.properties文件(适用于Artifactory 4.x) 或Artifactory 3.x的%ARTIFACTORY_HOME%\ etc \ artifactory.system.properties。

org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

答案 2 :(得分:0)

尝试从.npmrc中删除代理 https_proxy ,并在Artifactory中配置代理设置