ひ孫

犬のこととか書いていきたい

travis-ci + node 0.8のテストが出来なかった時の話

travis-ciをnode用のテストに使っていたらこんな感じのエラーが出てしまったのでメモ。

npm ERR! Error: No compatible version found: require@'^0.5.0'
npm ERR! Valid install targets:
npm ERR! ["0.3.1","0.3.2","0.4.0","0.4.2","0.4.4","0.4.5","0.4.6","0.4.8","0.4.9","0.5.0"]
npm ERR!     at installTargetsError (/home/travis/.nvm/v0.8.26/lib/node_modules/npm/lib/cache.js:719:10)
npm ERR!     at /home/travis/.nvm/v0.8.26/lib/node_modules/npm/lib/cache.js:641:10
npm ERR!     at saved (/home/travis/.nvm/v0.8.26/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:138:7)
npm ERR!     at Object.oncomplete (fs.js:297:15)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

どうも最新のnpmでは npm install --save を使うとバージョン指定が^という新しい記法で書かれる模様。 更にプラスでtravis-ci + node0.8のnpmバージョンが古くてうまく解決してくれないっぽい。

他の人のリポジトリみたらこんな感じで指定してやると良いっぽい事がわかった。

language: node_js
node_js:
  - 0.8
  - 0.9
  - 0.10
before_install:
  - npm install -g npm@~1.4.6

うーむ、before_installなんてあったのか・・・