Javascript Travis构建失败,因为在项目子文件夹中找不到mocha
我在github项目中使用Travis CI时出现以下编译错误:Javascript Travis构建失败,因为在项目子文件夹中找不到mocha,javascript,node.js,mocha.js,travis-ci,Javascript,Node.js,Mocha.js,Travis Ci,我在github项目中使用Travis CI时出现以下编译错误: sh: 1: mocha: not found 我的主项目文件夹“projectRoot”,对应于我的github repo,包含.travis.yml配置文件;它还包含多个子文件夹(每个应用程序一个子文件夹): 每个应用程序都有自己的package.json和node_模块包 app1的package.json包含以下内容: "scripts": { "test": "mocha" }, "devDepen
sh: 1: mocha: not found
我的主项目文件夹“projectRoot”,对应于我的github repo,包含.travis.yml配置文件;它还包含多个子文件夹(每个应用程序一个子文件夹):
每个应用程序都有自己的package.json和node_模块包
app1的package.json包含以下内容:
"scripts": {
"test": "mocha"
},
"devDependencies": {
"chai": "^4.2.0",
"mocha": "^5.2.0"
},
当Travis CI尝试运行app1的单元测试时,我得到以下错误:
$ npm test
> projectRoot@1.0.2 test /home/travis/build/username/projectRoot/app1
> mocha
sh: 1: mocha: not found
npm ERR! Test failed. See above for more details.
我尝试添加以下before_脚本以将当前目录更改为app1,然后在开始测试之前修改PATH变量:
before_script:
- echo "*** PRE BUILD SCRIPT ***"
- cd ./app1
- export PATH=$(pwd)/node_modules/.bin:$PATH
- echo $PATH
- echo "*************************"
执行此操作后,上面的“echo$PATH”行在travis日志中显示路径包含项目文件夹:
$ echo $PATH
/home/travis/build/username/projectRoot/app1/node_modules/.bin:/home/travis/.rvm/gems/ruby-2.4.1/bin:/home/travis/......
但错误依然存在
我还尝试:
PATH=./node_modules/.bin:$PATH.
或更改测试脚本以使用相对路径:
"scripts": {
"test": "./node_modules/.bin/mocha"
}
但同样的错误依然存在
任何建议都将不胜感激
非常感谢你的帮助
"scripts": {
"test": "./node_modules/.bin/mocha"
}