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

时间:2014-06-23 11:07:42

标签: node.js mocha 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

这是我的 package.json

中的内容
"scripts": {
    "start": "node app.js --websocket-port=$OPENSHIFT_NODEJS_PORT --log-level=1",
    "test": "mocha test/ "
  },

3 个答案:

答案 0 :(得分:7)

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

before_script: chmod 0777 ./node_modules/.bin/mocha

答案 1 :(得分:1)

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

chmod 0777 /var/lib/openshift/53ef9c315973cabb00034c/app-root/runtime/repo/node_modules/.bin/mocha

答案 2 :(得分:-1)

我遇到了同样的问题,将mocha作为dev依赖项安装。

我可以通过简单地卸载然后重新安装mocha来解决它:

npm uninstall --save-dev mocha

然后

npm install --save-dev mocha

也许你可以为mocha的全局安装做同样的事情,但我自己没有测试过它。