You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins容器内执行npm run dev报missing script错误求助

解决Jenkins容器中npm run dev报"missing script: dev"的问题

我之前也碰到过类似的情况,明明本地执行npm run dev完全正常,到Jenkins容器里就报错找不到dev脚本,大概率是路径、文件同步或者执行环境的小问题,咱们一步步来排查:

1. 先确认Jenkins构建时的工作目录是否正确

Jenkins的默认工作目录可能不是你存放package.json的文件夹,这是最常见的原因。你可以在npm run dev命令前加两步验证:

# 打印当前工作目录,确认是否在项目文件夹下
pwd
# 查看当前目录文件列表,确认package.json是否存在
ls -la

如果发现当前目录不对,一定要先切换到package.json所在的文件夹再执行npm命令,比如:

cd /path/to/your/project-directory
npm run dev

2. 确认package.json是否被完整拉取到Jenkins容器中

有时候Jenkins的源码拉取步骤(比如Git克隆)可能出了问题,导致package.json没被同步进来,或者内容不完整。你可以在构建步骤里加一条命令查看文件内容:

cat package.json

重点检查scripts字段里是否真的包含"dev": "webpack-dev-server --progress --colors --inline --hot"这一行。如果文件不存在或者内容不对,就得检查Jenkins的源码拉取配置,确保整个项目文件都被正确克隆到容器里了。

3. 验证npm/node版本和可用脚本列表

虽然你说本地和容器里的npm版本一致,但还是可以在容器里确认一下当前环境的版本,以及npm能识别的脚本:

# 查看npm和node版本
npm --version
node --version
# 查看npm能识别的所有脚本
npm run

如果npm run的输出里没有dev选项,那肯定是package.json的问题;如果有,那可能是命令执行时的其他隐藏问题(比如权限)。

4. 检查文件权限问题

Jenkins容器里的运行用户可能没有读取package.json的权限,导致npm无法解析脚本。你可以查看文件的权限信息:

ls -l package.json

如果权限不对,可以尝试临时调整权限(更推荐从Jenkins的运行用户配置入手,确保它有项目目录的读写权限):

chmod 644 package.json

按照上面的步骤排查,基本上就能定位到问题了。我当时碰到的就是Jenkins默认工作目录不对,没进到项目文件夹里,加了cd命令就解决了。

内容的提问来源于stack exchange,提问作者Flavio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:43:59