Jenkins env: ‘node’: No such file or directory

前几天整了个jenkins的docker容器,准备实践一把 前端自动构建,结果每次构建都出现 env: ‘node’: No such file or directory 问题导致构建失败,找了一大圈,后面让我找到一个不算最好的解决方案:

# 进入jenkins对应容器中
# docker exec -it [对应容器id] bash

# 安装nodejs
# apk add --no-cache nodejs

# 检查node
# node -v

下面是我的构建脚本:

 

以及验证的结果:

 

以及我配置上去的node 环境

我们会发现,无论在jenkins上配置什么node 版本,构建时使用的,还是我们装在容器里的那个node版本,(后面测试 发现 npm版本会受配置影响),这就是我为啥说这个解决方案不是最好的那个。

如果有大神知道更好的解决方案可以留个言,小弟感激不尽。

 

有兴趣尝试jenkins前端构建的同学可以看看这里:

1、实战笔记:Jenkins打造强大的前端自动化工作流 

2、 Jenkins部署前端项目

解决方案参考:

1、docker jenkins gitlab 自动部署NodeJs项目 及 env node not found 解决

 

 

 

### 关于`mycat`执行时出现“No such file or directory”的原因分析 当尝试在 Bash 中运行 `mycat` 并收到 “No such file or directory” 错误时,可能的原因有多种。以下是详细的分析以及解决方案: #### 1. 文件路径问题 如果系统无法找到可执行文件 `mycat`,则可能是由于该文件未放置在系统的 PATH 环境变量所定义的目录中。可以通过以下方式验证并解决问题: - 验证当前工作目录是否存在 `mycat` 文件: ```bash ls -l ./mycat ``` - 如果不存在,则需确认实际存储位置并将路径补充完整来调用它,或者将其移动至 PATH 所含的标准目录之一(如 `/usr/local/bin/`)。 此情况通常发生在用户忘记提供完整的绝对路径或相对路径的情况下[^2]。 #### 2. 缺少执行权限 即使存在名为 `mycat` 的文件,但如果缺少执行权限也会引发上述错误提示。应检查其属性并通过 chmod 添加必要的访问许可位: ```bash chmod +x ./mycat ``` #### 3. 动态链接库缺失 对于某些二进制程序而言,它们依赖特定版本的操作系统动态共享对象(.so),即所谓的.so文件。假如这些必需的支持组件未能正确加载同样会产生类似的报错信息。“ldd”工具可以帮助诊断这类状况: ```bash ldd ./mycat ``` 如果有任何条目显示“not found”,那么就需要安装相应的开发包或是调整 LD_LIBRARY_PATH 变量以便让 loader 能够定位到所需的资源[^3]。 #### 4. Shell Script Shebang Line Error 如果是通过 shell script 实现的功能而非纯 C/C++ 编译后的产物,在脚本的第一行应该明确定义解释器的位置。例如常见的形式为 `#!/bin/bash` 或者 `#!/usr/bin/env bash` 。如果没有恰当设定shebang line ,也可能导致找不到合适的应用去解析整个文档从而给出模糊不清的反馈说找不到目标实体[^1]。 综上所述,针对不同层面的因素采取对应的措施即可有效排除此类障碍。 ```bash # Example of setting up environment variables within Jenkins job configuration. export JAVA_HOME=/path/to/java export PATH=$JAVA_HOME/bin:$PATH ``` 问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值