2013-11-21 1 views
5

プロジェクトのインストール中にgruntを使用する必要があります。私はnode.js> = 0.8が必要です。 Travis CIのpython VMに含まれるバージョンは0.6です。Travis CIのpythonプロジェクトでnode.jsを更新し、grunt/bowerをインストールするにはどうしたらいいですか?

最後のバイナリをダウンロードしてPATHに挿入しようとしましたが、変数を正しくエクスポートできませんでした。travisのenv:パラメータを使用して変更した場合、PATHの残りの部分はありません。

私が直接バイナリ(./node-v0.10.22-linux-x64/bin/npm install ...)を使用する場合、それは./node-v0.10.22-linux-x64/bin/でそれらをインストールしますと、私はうなり声を使用する場合、それはバウアー(タスクの1)を呼び出しますが、それは失敗します。 (致命的なエラー:git checkout e6f8a58dbce5858586564a1ba4543f122ef63225、#128の終了コード)を実行できませんでした。

したがって、node.jsを更新してバイナリをインストールする最良の解決策は何ですか?私はTravis CIでそれらを使用する必要がありますか?

+0

Travisのノードバージョンは確かですか?昨日、ビルド環境が更新されましたが、1年以上で0.6を使用していることは覚えていません。 – nschonni

+0

ここには、npmが失敗したときに表示されるエラーの一部があります。 npm ERR!ノード-v v0.6.12 npm ERR! npm -v 1.1.4 – Gagaro

+0

NVMを使ってバージョンを正しく切り替えることはできますが、それについて私には言わないと思います。 PS 0.10.22は20日に出荷されているはずです – nschonni

答えて

4

ここに私が使っているTravis設定の修正版があります。ノードをインストールする手順は、node's install docsに準拠しています。この方法は、ノードの最新の安定バージョンをインストールします。

language: python 
python: 
    - "2.7" 
    - "3.3" 

install: 
    # Python test requirements 
    - pip install -r requirements.txt 
    - pip install nose coverage selenium 

    # JavaScript test requirements 
    - sudo add-apt-repository -y ppa:chris-lea/node.js 
    - sudo apt-get -y update 
    - sudo apt-get -y install nodejs 
    - sudo npm install -g grunt-cli 
    - sudo npm install -g bower 
    - sudo npm install 

before_script: 
    - bower install 

script: 
    # Run Python tests and generate coverage statistics 
    - nosetests --with-coverage 

    # Run tests for JavaScript 
    - grunt test 

# etc., etc. 
+0

私の方法よりも良い方法です、ありがとう! – Gagaro

+0

@mjumbewuこれは私のためには機能しません。前後にv0.10.36があります:https://github.com/hugovk/test/blob/upgrade-node/.travis.yml https://travis-ci.org/hugovk/test/jobs/166663128 – Hugo

+0

私は簡単な方法を見つけました:http://stackoverflow.com/a/39973978/724176 – Hugo

0

私は今、作業トラヴィスファイルを持っているが、私は、このソリューションには本当に満足していない:

language: python 
python: 2.7 
install: 
    - sudo apt-get -qq install libfreetype6-dev liblcms1-dev libwebp-dev memcached 
    - wget http://nodejs.org/dist/v0.10.22/node-v0.10.22-linux-x64.tar.gz 
    - tar xzvf node-v0.10.22-linux-x64.tar.gz 
    - sudo ./node-v0.10.22-linux-x64/bin/npm install -g bower grunt-cli 
    - mkdir -p buildout-cache/eggs 
    - mkdir -p buildout-cache/downloads 
    - python bootstrap.py -c travis.cfg 
    - bin/buildout -N -c travis.cfg install download install 
    - bin/buildout -N -c travis.cfg 
    - cd path/to/resources/folder 
    - sudo ../../../../node-v0.10.22-linux-x64/bin/npm install 
    - ../../../../node-v0.10.22-linux-x64/bin/bower install 
    - ../../../../node-v0.10.22-linux-x64/bin/grunt 
    - cd - 

私は(特定のIDをコミット)マスターにターゲットを変更することで亭でエラーを修正しました。トラヴィスではうまくいかず、なぜローカルで働くのか分かりません。

0

トラヴィスCIのTrusty betaは付属しています「ほとんどすべて(すぐにすべてのことに)私たちの一般的なサポートランタイムとサービスのが含まれていますメガイメージ。」例えば

sudo: required 
dist: trusty 

を::、それを使用するあなたの.travis.ymlにこれを追加するには

sudo: required 
dist: trusty 

language: python 

python: 
- 'pypy' 
- 'pypy3' 
- '2.6' 
- '2.7' 
- '3.2' 
- '3.3' 
- '3.4' 
- '3.5' 

script: 
    - python --version 
    - node --version 

の執筆時点では、これはノードv4.1.2の代わりに、V0が含まれています。 10.36。

関連する問題