AngularJSのチュートリアルをやろうとすると、配布されているリポジトリでnpm install
できませんでした。
プロジェクトフォルダで、以下のようなエラーが出ました。
$ npm install
...
> angular-phonecat@0.0.0 postinstall /vagrant/angular-phonecat
> bower install
sh: 1: bower: not found
...
StackOverflowの記事"postinstall": "./node_modules/bower/bin/bower install"によると、package.jsonから以下の一行を削除してしまえ、という大胆な回答がありました。
"postinstall": "./node_modules/bower/bin/bower install"
もちろんこれだとBowerは入らないので、あとで手動で入れて、Bowerパッケージをインストールします。
$ sudo npm install -g bower
...
$ bower install
...
http-serverパッケージも入っていなかったので手動で入れます。
*Ubuntu 14を使ったら自動的に入りました。
$ npm install http-server
...
テストはKarmaパッケージを使うのですが、これもエラーが出て動きません。仕方ないので手動で入れます。
*Ubuntu 14を使ったら自動的に入りました。
$ npm install karma
...
最初はFirefoxブラウザとChromeブラウザを起ち上げてテストを走らせる設定になっているのですが、私の場合仮想マシンで動かしていたので、これらの二つは無効化しました。具体的には、testフォルダのkarma.conf.jsを編集します。
...
plugins : [
//'karma-chrome-launcher',
//'karma-firefox-launcher',
'karma-jasmine'
],
...
これで$ npm test
で9876番ポートにテスト結果が表示されるようになります。
End-to-End テストを行うためのwebdriver-managerも入っていません。大丈夫かいな・・・
*Ubuntu 14を使ったら自動的に入りました。
$ npm install webdriver-manager
...
$ npm run update-webdriver
...
$ npm run protractor
・・・これもprotractorが入っていないと怒られます。
*Ubuntu 14を使ったら自動的に入りました。
$ npm install protractor
...
File exists: /vagrant/angular-phonecat/node_modules/.bin/webdriver-manager
Move it away, and try again.
...
と言われるので該当するファイルの名前を変えて再度protractorをインストールします。
$ npm install protractor
それでも$ npm run protractor
は、
[launcher] Error: Could not find chromedriver
に阻まれるので、test/protractor-conf.jsを編集してしまいます。
...
//chromeOnly: true,
...
すると今度は以下のようなエラーメッセージが出ます。
...
/vagrant/angular-phonecat/node_modules/protractor/lib/driverProviders/local.js:42
throw new Error('Could not find chromedriver at ' +
^
Error: Could not find chromedriver at /vagrant/angular-phonecat/node_modules/protractor/selenium/chromedriver.exe
...
どうもこのStackOverflow記事と同じ現象のようですが:webdriver-manager update
うーん、ちょっと今はここまで・・・