我在运行我的Jenkins项目时无法识别问题'bower',因为我看到很多其他人得到了。但是,我知道我可以通过包含硬编码路径来实现它的工作
C:\Users\clang\AppData\Roaming\npm
在我的路径环境变量中。这不是我想要的方式。
我的目标是让这个Jenkins配置能够在本地下载,安装和运行这些命令,并且能够在没有硬编码路径的情况下这样做,因为我希望它在具有不同用户因此不同路径的其他计算机上运行。这是我正在运行的当前批处理脚本。
set PATH=%PATH%; %WORKSPACE%\.bin;
call npm install
call npm install bower
call npm install grunt-cli
call bower install
call grunt build
当安装bower和grunt时,bower.cmd和grunt.cmd位于此目录中
C:\Program Files (x86)\Jenkins\workspace\ClearWork\.bin
我在顶部运行的命令确实评估并包含这些命令文件所在的目录但由于某种原因我仍然收到错误,说明无法识别bower和grunt。
为了确保它不是Jenkins%Workspace%环境变量的问题,我甚至硬编码了得到相同结果的位置。
答案 0 :(得分:1)
选项1
call node_modules/.bin/bower install
call node_modules/.bin/grunt build
选项2
将这些脚本添加到package.json:
(在package.json中)
"scripts": {
"bower:install": "bower install",
"grunt:build": "grunt build"
}
现在您应该可以致电:
call npm run bower:install
call npm run grunt:build
因为npm会自动将node_modules / .bin添加到路径