2016-03-25 13 views
6

私は多くのことを試しましたが、最終的にはgulp-pipeline-railsのビルドに失敗しました。 scriptはローカルで動作し、問題はありません。ノード5のtravis-ci ruby​​ビルド

私が絞り込んだ最後の問題は、ノードを利用する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 

これは、ノードが更新されますように見えるが、それはそれはfails to execute rspec私のルビーENVに何かを行います

$ 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. 

質問 をどのように、言ったことすべてでこの.travis.ymlでノード5を単に使用するのですか?

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 

答えて

6

、多分何かのようトラヴィスにadding a second languageためbefore_installのステージを使用してみてください:

before_install: 
    - nvm install node 

nvmがトラヴィスにデフォルトでインストールする必要があります(あなたが使用しているどちらによって異なります)画像を構築し、このコマンドはNodeの最新バージョンをインストールします。その後

、多分ちょうどうまくいけば、それはそれバンドラはまだ正常に動作し、すべての宝石をインストールする必要がある意味、(すなわち、NPMの更新を心配しないでください)あなたのbefore_script段階の最初のステップとしてnpm install -g [email protected]を持っています。

0

プロジェクトの言語がルビーの場合、Travis CIはデフォルトでbundle install --jobs=3 --retry=3を実行します。

自分でinstallステージを定義した場合、.travis.ymlthe default will not execute in favor of the newly specified commands.ここで考えているのは、デフォルトで簡単に無効にすることができます。

この問題には2つの解決策があります

  1. install段階
  2. bundle install --jobs=3 --retry=3を追加@oceanにより示唆されるようにbefore_installにノードの交換スニペットのヘッダの名前を変更します。
2

非常に助けてくれたthis articleが見つかりました。

記事から関連情報:あなたはあなたのトラヴィス内のノードのバージョンを管理するためにnvmを使用することができます

は、しかし、あなたが最初にそれを有効にする必要があります。

install: 
    - . $HOME/.nvm/nvm.sh 
    - nvm install stable 
    - nvm use stable 
関連する問題