在travis CI中配置指定版本的node。
分两种情况:
纯 node.js 项目
node是唯一的依赖,查看官网building a javascript and Node.js project,在.travis.yml
中添加:
language: node_js
node_js:
- "8"
- "6"
如果需要安装指定版本的nodejs,需要借助于.nvmrc
,具体操作见官网,这里主要看非node项目下,如何配置指定版本的node。
非node项目,项目中依赖node
比如Rails项目,language为ruby,这时就不能使用上面的方式来设置。
那么如何设置?
在docs里面没有搜到,参考了这篇文章Travis CI: Node Version Management on Non-Node Projects,搞定。
具体如下:
在.travis.yml
中添加:
env:
- TRAVIS_NODE_VERSION="8.12.0"
install:
- rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION
- npm install
这里做了这么几件事:
- 设置了环境变量TRAVIS_NODE_VERSION, 指定版本号,这里指定的是8.12.0。
rm -rf ~/.nvm
删除服务器上原来的nvmgit clone https://github.com/creationix/nvm.git ~/.nvm
, 从GitHub上拉取nvm- cd ~/.nvm && git checkout
git describe --abbrev=0 --tags
切换到最新版的nvm - source ~/.nvm/nvm.sh 执行nvm.sh文件
- nvm install $TRAVIS_NODE_VERSION 安装指定版本node
OK。
后面老大给了更好的解决方法,附上:
在.travis.yml
中添加:
env:
- TRAVIS_NODE_VERSION="8.12.0"
install:
- nvm install TRAVIS_NODE_VERSION
- nvm alias default TRAVIS_NODE_VERSION
- npm install
果然,简单多了。不得不说,小白还有很长的路要走。