在Travis-CI上通过mocha运行npm测试时权限被拒绝

Mel*_*Goh 4 mocha.js node.js travis-ci

我正在设置一个简单的NodeJS应用程序,我正在与Travis-CI集成.我正在使用Mocha来帮助我进行测试.然而,虽然这些测试在本地运行良好,但在部署到Openshift之前,我在使用Travis-CI时未通过测试.一些帮助解决这个问题会很酷=)

Travis-CI输出

CAT@0.0.1 test /home/travis/build/melvrickgoh/CAT
> mocha test/ 
sh: 1: mocha: Permission denied
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

这是我的package.json中的内容

"scripts": {
    "start": "node app.js --websocket-port=$OPENSHIFT_NODEJS_PORT --log-level=1",
    "test": "mocha test/ "
  },
Run Code Online (Sandbox Code Playgroud)

小智 7

同样的问题,添加到我的.travis.yml这个修复它为我:

before_script: chmod 0777 ./node_modules/.bin/mocha
Run Code Online (Sandbox Code Playgroud)

  • 这有点肛门保留,但如果你像我一样,你会使用“0555”(如果不是更低的话)。 (2认同)

小智 1

尝试运行测试时在 OpenShift 上遇到同样的问题。通过使 mocha 文件可执行来解决,如下:

chmod 0777 /var/lib/openshift/53ef9c315973cabb00034c/app-root/runtime/repo/node_modules/.bin/mocha
Run Code Online (Sandbox Code Playgroud)