所以我已经设置了一个github项目并将其链接到Jenkins但是每当我执行构建尝试时它都在控制台中说:
C:\Program Files (x86)\Jenkins\workspace\SYS-ictlab>mocha
'mocha' is not recognized as an internal or external command,
operable program or batch file.
我错过了什么?
提前致谢
答案 0 :(得分:6)
如果您在此之前已经执行了npm install
作为CI阶段的一部分,并且您已将mocha添加为package.json
中的(dev)依赖项,那么您可以调用mocha二进制文件作为如下
node ./node_modules/mocha/bin/mocha
您正在尝试调用该命令,就好像它已被“链接”一样,因此可以全局访问该命令,这只能在运行npm install -g mocha
后才能实现。这在所有CI环境中可能都不可行,因此上述解决方案更为常见。
答案 1 :(得分:0)
我也面临类似的情况,即使我运行'mocha' is not recognized as an internal or external command
,它也抛出了npm install
,所以我更改了Jenkins配置文件。
在配置文件的“构建”部分下,给出此命令,它将正常工作而不会引发任何错误。 (假设您的package.json
具有有效的摩卡运行命令)
npm install
chmod 777 ./node_modules/.bin/mocha
npm uninstall mocha && npm i mocha
npm test
答案 2 :(得分:0)
我遇到了同样的确切错误,我通过在命令前面添加“ npx”来解决了该错误。示例:
npx mocha test-file.js
我的测试在与Jenkins构建相同的位置的命令提示符下运行正常,
C:\Program Files (x86)\Jenkins\workspace\project-name>mocha test-file.js
但是在詹金斯中实际运行构建时,我会得到“ mocha”无法识别的错误消息。在前面添加npx对我来说解决了这个问题!