运行 在 Travis 上通过 mocha 和 nyc 进行 npm 测试时权限被拒绝-CI
Permission denied when running npm test via mocha and nyc on Travis-CI
我正在为与 Travis-CI 集成的 NodeJS 应用程序设置服务器端。我正在使用 Mocha 和 NYC 来帮助我进行测试。然而,虽然这些测试 运行 在本地很好,但我在 Travis-CI.
上的测试失败了
本地一切正常,没有错误。
Travis-CI输出错误:
> server@1.0.0 test /server
> nyc --reporter=lcov npm run run-test "--coverage"
sh: nyc: Permission denied
npm ERR! Test failed. See above for more details.
The command "docker run repname/server npm test -- --coverage" exited with 1.
那是我的 .travis.yml 文件:
sudo: required
services:
- docker
before_install:
- docker build -t repname/server -f Dockerfile.dev .
script:
- docker run repname/server npm test -- --coverage
我什至尝试了在堆栈上找到的其他一些类似问题:
那就是我没有运气的尝试:
对于纽约:
before_script: chmod 0555 ./node_modules/.bin/nyc
before_script: chmod 0777 ./node_modules/.bin/nyc
对于摩卡:
before_script: chmod 0555 ./node_modules/.bin/mocha
before_script: chmod 0555 ./node_modules/.bin/mocha
我解决了。问题是我没有在 .gitignore
文件中添加正确的路径。所以当我在 github 上推送到 master 时,它实际上推送了 node_modules
文件夹,这是不应该做的。
当你尝试在 Travis CI 或任何 CI 上构建时,请记住这一点,不要将你的模块文件夹放在你的主仓库中。
我正在为与 Travis-CI 集成的 NodeJS 应用程序设置服务器端。我正在使用 Mocha 和 NYC 来帮助我进行测试。然而,虽然这些测试 运行 在本地很好,但我在 Travis-CI.
上的测试失败了本地一切正常,没有错误。
Travis-CI输出错误:
> server@1.0.0 test /server
> nyc --reporter=lcov npm run run-test "--coverage"
sh: nyc: Permission denied
npm ERR! Test failed. See above for more details.
The command "docker run repname/server npm test -- --coverage" exited with 1.
那是我的 .travis.yml 文件:
sudo: required
services:
- docker
before_install:
- docker build -t repname/server -f Dockerfile.dev .
script:
- docker run repname/server npm test -- --coverage
我什至尝试了在堆栈上找到的其他一些类似问题: 那就是我没有运气的尝试:
对于纽约:
before_script: chmod 0555 ./node_modules/.bin/nyc
before_script: chmod 0777 ./node_modules/.bin/nyc
对于摩卡:
before_script: chmod 0555 ./node_modules/.bin/mocha
before_script: chmod 0555 ./node_modules/.bin/mocha
我解决了。问题是我没有在 .gitignore
文件中添加正确的路径。所以当我在 github 上推送到 master 时,它实际上推送了 node_modules
文件夹,这是不应该做的。
当你尝试在 Travis CI 或任何 CI 上构建时,请记住这一点,不要将你的模块文件夹放在你的主仓库中。