【问题标题】:NPM Frontend Proxy Set, but Can't Download NPM PackageNPM 前端代理集,但无法下载 NPM 包
【发布时间】:2016-07-20 21:30:16
【问题描述】:

我们正在使用Eirslett Maven Frontend Plugin 以标准方式帮助构建我们的 NPM 项目。这个前端为我们处理安装和其他问题。此外,它还允许我们的开发人员通过 mvn package 进行构建,就像他们使用我们的其他 Java/Maven 项目一样。

这是在我的本地机器上构建的,带有代理警告,但它不会在我们的 Jenkins 服务器上构建。

我已配置 $HOME/.npmrc 并设置了 http_proxyhttps_proxy 环境变量。但是,我仍然收到未设置代理错误。

$ set | grep "http.?_proxy"
http_proxy=http://proxy.xxxx.local:3128
https_proxy=https://proxy.xxxx.local:3128

$ cat $HOME/.npmrc
registry = http://registry.npmjs.org/
proxy = http://proxy.xxxx.local:3128/
https-proxy = https://proxy.xxxx.local:3128/
strict = false
ca = null


$ mvn clean package
[...]
[INFO] --- frontend-maven-plugin:0.0.24:install-node-and-npm (install node and npm) @ ihcm-config-tool ---
[INFO] Installing node version v0.12.2
[INFO] Creating temporary directory /opt/tomcat/jenkins_home/jobs/ihcm-config-tool-trunk/workspace/node_tmp
[INFO] Downloading Node.js from \\  
       http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz \\  
       to /opt/tomcat/jenkins_home/jobs/ihcm-config-tool-trunk/workspace/node_tmp/node.tar.gz
[INFO] No proxy was configured, downloading directly
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.968 s
[INFO] Finished at: 2016-07-18T11:53:39-05:00
[INFO] Final Memory: 15M/303M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal \  
        com.github.eirslett:frontend-maven-plugin:0.0.24:install-node-and-npm \  
(install node and npm) on project ihcm-config-tool: Could not \   
download Node.js: Could not download \  
http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz: \  
Connect to nodejs.org:80 [nodejs.org/104.20.23.46, \
nodejs.org/104.20.22.46] failed: Connection refused -> [Help 1]

我可以将http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz 下载到我的机器上。我认为错误可能是代理,但我可能是错的。有什么我应该寻找的吗?

【问题讨论】:

    标签: node.js jenkins proxy


    【解决方案1】:

    找到问题了。

    Eirslett Maven 前端插件不使用$http_proxy$HOME/.npmrc 文件中的代理设置。相反,我不得不将代理设置放在我的$HOME/.m2/settings.xml 文件中。

    我创建了一个特殊版本的 settings.xml 文件,并添加了代理设置(只是为了确保不会影响其他项目)。我创建了$HOME/.m2/settings.proxy.xml,然后通过mvn -s $HOME/.m2/settings.proxy.xml调用了Maven。

    我们使用 Artifactory,它有自己的代理设置。我们已将 NPM 配置为使用我们的 Artifactory 服务器进行下载。但是,Eirslett Maven Frontend Plugin 也可以安装 NodeJS 并且 Artifactory 不能设置为 NodeJS 的 HOME

    我们希望 Eirslett Maven 前端插件安装 NodeJS(如果尚未安装)。这样,新开发人员只需运行 mvn package 就可以构建这个项目,就像他们对我们所有其他项目所做的那样。幸运的是,开发人员的机器不需要代理。但是,我们的 Jenkins 服务器位于公司内部防火墙后面,需要设置代理。

    【讨论】:

    • 能否分享您使用 npm 代理创建的 settings.proxy.xml 文件,因为我面临同样的问题。
    猜你喜欢
    • 2023-02-16
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多