Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Travis构建失败,因为在项目子文件夹中找不到mocha_Javascript_Node.js_Mocha.js_Travis Ci - Fatal编程技术网

Javascript Travis构建失败,因为在项目子文件夹中找不到mocha

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

我在github项目中使用Travis CI时出现以下编译错误:

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"
 }