【RSpec】 Capybara + poltergeist にて rspec failed to detect theversion of the executable at '/usr/bin/phantomjs'
Ubuntu16.04上に構築しているRailsにてfeature spec (capybara + poltergeist) を走らせたときに
rspec failed to detect theversion of the executable at '/usr/bin/phantomjs' とかなんとかエラーでこける。
ちょっと古いですがこちらを見ると
apt-getでインストールしたphantomjsは削除して、npmで入れてるみたい?
さらに調べると、apt-getで入れるphantomjsだと問題があるみたい。
この方もnpmで入れていますね。
というわけでまずUbuntuにnpmをインストールしました。
しかしapt-get だと入るバージョンが古かったり、node でなくて nodejs コマンドだったりします。
よって n package を使用します。
Specs
rails about で確認(バージョン古め・・・)
n packageの導入 〜 node のインストールまで
まずは普通にapt-get でnodejs & npm のインストール
$ sudo apt-get install -y nodejs npm
次に n packageの導入
$ sudo n stable $ echo $PATH # /usr/local/bin が含まれているかどうか確認 詳しくは後述 $ exec $SHELL # shellの再読み込み
参考にしたのはこちらの記事ですが
http://qiita.com/seibe/items/36cef7df85fe2cefa3ea
sudo n stable の後にsymlink を張っていますが、コメントにて
/usr/local/binが$PATHに含まれている環境においてはこのsymlinkは不要で、exec $SHELLでシェルを読み込み直すだけで使うことができました。
とありましたので、それを採用することにしました。
node, npm のバージョン確認
$ node -v v7.6.0 $ npm -v 4.1.2
古いほうのバージョンは忘れてしまった・・・。
はじめに入れた(古いほうの)nodejs, npm の削除
$ sudo apt-get purge -y nodejs npm
phantomjs のインストール
$ sudo npm install -g phantomjs
nodejs-legacy は入れていません。
参考記事:
これでfeature testsが走るようになったぞい。ふぅ・・・。