【问题标题】:frontend-maven-plugin detects wrong architecture resulting in wrong node download urlfrontend-maven-plugin 检测到错误的架构导致错误的节点下载 url
【发布时间】:2018-08-16 06:47:47
【问题描述】:

在我们的 Jenkins Linux 服务器上构建失败,因为插件检测到错误的架构。 它检测到 x86 而不是 x64,并且 node 不再为 linux 提供 x86 版本,所以下载失败!

这是插件生成的输出:

[INFO] Node v8.9.4 was installed, but we need version v10.8.0
[INFO] Installing node version v10.8.0
[INFO] Downloading https://nodejs.org/dist/v10.8.0/node-v10.8.0-linux-x86.tar.gz to /home/tadmin/.m2/repository/com/github/eirslett/node/10.8.0/node-10.8.0-linux-x86.tar.gz

导致 404 错误,因为此版本不存在。 服务器正在使用此配置运行 JDK 1.8:

java -XshowSettings:properties -version
    os.arch = amd64
    os.name = Linux
    os.version = 3.10.0-862.el7.x86_64

我查看了架构检测插件的源代码,没有发现任何错误:

enum Architecture { x86, x64, ppc64le, s390x, arm64;
    public static Architecture guess(){
        String arch = System.getProperty("os.arch");
        if (arch.equals("ppc64le")) {
            return ppc64le;
        } else if (arch.equals("aarch64")) {
            return arm64;
        } else if (arch.equals("s390x")) {
                return s390x;       
        } else {
            return arch.contains("64") ? x64 : x86;
        }
    }
}

在我的 windows 机器上,架构被正确检测到。

也许有人也有这个问题,可以在这里帮助我吗?

【问题讨论】:

  • 刚刚在本地复制了一个简单的例子(amd64 Linux 也是),插件下载了正确的 Node 二进制文件(https://nodejs.org/dist/v10.8.0/node-v10.8.0-linux-x64.tar.gz)。我还检查了源代码,乍一看似乎是正确的。您是否使用了覆盖 os.arch 属性的特定 Jenkins 配置?

标签: node.js angular maven plugins frontend


【解决方案1】:

所以经过几个小时的调试后,我们的运营团队(出于某种原因)在机器上安装了不同的 JDK,然后在构建过程中使用了该 JDK。

切换到通常的 JDK 后,这个问题就消失了。

【讨论】:

    猜你喜欢
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 2013-05-01
    • 1970-01-01
    • 2018-04-16
    • 2021-10-08
    相关资源
    最近更新 更多