我正在学习构建一个易于协作和持续集成的项目。所以我创建了一个branch我的WordPress插件。
我用composer.json
创建了:
"scripts": {
"post-install-cmd": ["npm install", "grunt"],
"pre-archive-cmd": "composer install"
}
它在Windows机器上的本地安装中做得很好,在运行npm install
加载所有依赖项之后,它可以运行grunt
。但是使用特拉维斯CI它没有说:
脚本npm install&& grunt处理返回的post-install-cmd事件,错误代码为3
命令" composer install"失败并在3期间退出。
所以,我将命令改为this:"npm install && grunt"
,但也失败了。
然后我在"npm install"
中传递了single command:post-install-cmd
。
我在这里做错了什么?为什么多命令在本地环境中运行良好,但在Travis CI中却不行?究竟是什么错误代码3?
答案 0 :(得分:1)
我认为你需要告诉travis安装npm& amp;在你可以使用之前咕噜咕噜。
before_script:
- npm install -g grunt-cli
- npm install
正如我在这里看到的https://github.com/nanodesigns/nanosupport/blob/testing/.travis.yml 它在travis文件中丢失了。
<强>更新强> 您还需要使用package.json中的engines指令指定节点版本:
{ "engines" : { "node" : ">=4" } }
或通过ENV vars
env:
- TRAVIS_NODE_VERSION="4"