gpt4 book ai didi

node.js - 无法运行 Node : No such file or directory

转载 作者:行者123 更新时间:2023-12-02 19:48:31 25 4
gpt4 key购买 nike

我执行 mvn clean install来自图像 maven:3-alpine 的 docker 容器内构建应用程序。在 pom.xml 中,我使用了 frontend-maven-plugin因为我需要安装nodenpm然后运行 ​​npm install构建前端(角度)。

 <plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.9.1</version>
<configuration>
<nodeVersion>v12.16.1</nodeVersion>
</configuration>
<executions>
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<phase>generate-resources</phase>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>install</arguments>
<installDirectory>./</installDirectory>
</configuration>
</execution>
<execution>
<id>ng build</id>
<goals>
<goal>npm</goal>
</goals>
<phase>compile</phase>
<configuration>
<arguments>run-script build</arguments>
</configuration>
</execution>
</executions>
</plugin>

Node 和 npm 将正确安装,但运行时 npm install它返回一个错误: Failed to run task: 'npm install' failed. java.io.IOException: Cannot run program "/var/lib/jenkins/workspace/myProject/node/node" (in directory "/var/lib/jenkins/workspace/myProject"): error=2, No such file or directory -> [Help 1]
如果我进入容器(docker exec)并尝试手动运行 npm install 它再次给我同样的错误。当我检查 Node 是否正确安装时,我看到文件 /var/lib/jenkins/workspace/myProject/node/node在那里,但是当我自己尝试从/node 目录中运行 Node 时,假设 node -v它再次告诉我 No such file or directory .我不明白为什么会这样,因为 Node 在那里!!当前用户也有权执行该文件。

我对这个问题进行了一些搜索,有人说以这种方式在 ubuntu 上安装 Node 不是正确的方式,但这只发生在我的容器中。如果我在我的本地机器上尝试相同的操作(它也是一个 ubuntu),那么 Node 就可以工作。

最佳答案

当你运行 node -v它自己试图在你的 PATH 上找到 Node 。以这种方式通过 maven 安装不会为您这样做

Check out one of these answers ,了解如何在 Linux 上执行此操作。

如果您的用户没有这样做的权限,我怀疑您在 jenkins 中运行可能是这种情况,您可以改为使用 Node 和 npm 二进制文件的完整或相对路径运行所需的命令。

例如如果您有文件 test.js在目录 /var/lib/jenkins/workspace/myProject ,在该目录中可以运行:

./node/node test.js

或者
/var/lib/jenkins/workspace/myProject/node/node

另外:使用 Maven 在 CI 环境中安装 NPM 和 Node 的更好解决方案是使用 nvm , Docker 镜像,或用于 Jenkins use the Node.js plugin .

关于node.js - 无法运行 Node : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62193439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com