我尝试了很多东西,但最终未能获得gulp-pipeline-rails运行的构建。 script
在本地运行,没问题。
我缩小的最后一个问题是我有一个ruby
语言项目,它使用节点,但是I need node 5。我找到了one snippet:
#------------------------------
# Update the node version
env:
- TRAVIS_NODE_VERSION="5"
install:
- pwd
- 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
虽然这似乎让节点更新了,但它对我的ruby env做了些什么fails to execute rspec:
$ pwd && bundle exec rake
/home/travis/build/alienfast/gulp-pipeline-rails
Could not find gem 'rspec' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.
问题
尽管如此,我如何简单地将节点5用于此.travis.yml
?
language: ruby
rvm:
- 2.2.2
- ruby-head
matrix:
allow_failures:
- rvm: ruby-head
cache: bundler
#------------------------------
# Setup
before_script:
- node -v
# update npm
- npm install npm -g
# install Gulp 4 CLI tools globally from 4.0 GitHub branch
- npm install https://github.com/gulpjs/gulp-cli/tarball/4.0 -g
#------------------------------
# Build
script: bundle exec rake
答案 0 :(得分:8)
尝试在Travis上使用before_install
adding a second language阶段,可能是这样的:
before_install:
- nvm install node
默认情况下,应在Travis构建映像上安装 nvm
(取决于您正在使用的映像),此命令将安装最新版本的Node。
之后,也许只有npm install -g gulp-cli@4.0
作为before_script
阶段的第一步(即不要担心更新npm),希望这应该意味着捆绑包仍然可以正常运行并安装所有宝石。
答案 1 :(得分:2)
我发现this article帮助了我很多。
文章中的相关信息:
您可以使用nvm
管理travis中的节点版本,但必须先启用它:
install:
- . $HOME/.nvm/nvm.sh
- nvm install stable
- nvm use stable
答案 2 :(得分:0)
如果项目的语言是ruby,Travis CI默认会运行bundle install --jobs=3 --retry=3
。
如果你自己在install
中定义.travis.yml
阶段,the default will not execute in favor of the newly specified commands.这里的想法是默认使用神奇的魔法,应该很容易被覆盖。
此问题有两种解决方案:
bundle install --jobs=3 --retry=3
添加到install
阶段before_install
。