コマンドラインのみのUbuntu 11.04(GNU/Linux 2.6.35.4-rscloud x86_64)があり、テストにKarmaを使用する Angular Phonecat tutorial を使用しています。 Karmaブラウザの設定ページ はChromeランチャーは「デフォルトでKarmaに同梱されている」と言います。
しかし、それは私のために働いていません。 これはkarma.conf.jsです 。以下は出力です。
$ ./scripts/test.sh
Starting Karma Server (http://karma-runner.github.io)
-------------------------------------------------------------------
INFO [karma]: Karma v0.10.4 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
ERROR [launcher]: Cannot start Chrome
Can not find the binary google-chrome
Please set env variable CHROME_BIN
この答え は、クロムが必要だと指摘しています。
Chrome Ubuntuに このガイド を "コマンドラインを使用して64ビットバージョンをダウンロード"でインストールしようとしました。すべてがSudo apt-get -f install
は、91.189.91.15や91.189.92。など、ubuntu IPアドレスからの多くの「フェッチに失敗しました」で終了しました。 「バイナリgoogle-chromeが見つかりません」という/ usr/bin/googlesomething *がなくても、個別のテストレベルで「Chromeを起動できません」が表示されます。次に、エラーを修正しようとしているときに、/ usr/bin/googlesomethingを削除しました。
現在、私はこれらのnode_modulesを持っています:
angular-phonecat/node_modules$ ls
karma karma-html2js-preprocessor karma-requirejs
karma-chrome-launcher karma-jasmine karma-script-launcher
karma-coffee-preprocessor karma-junit-reporter
karma-firefox-launcher karma-phantomjs-launcher
Q 1:私のマシンにはコマンドラインアクセスのみがあり、GUIはないので、他のKarmaランチャーであるPhantomJSはChrome/Chromiumよりも優れていますか?
Q 2:それでもChrome/Chromiumを使用する必要がある場合、ChromeまたはChromium?
Q 3:KarmaがAngularアプリで動作するようにするには、google-chromeまたはchromiumを取得するために何が必要なのか正確に知っていますか?
ルートヴィヒの答えを求める人のための、そして将来の自分自身の参照のための3番目のポイントを拡張します...
あなたがしなければならない最初のことはどこを見つけることですchromium-browser
がインストールされています。実行:
which chromium-browser
これにより、実行可能ファイルへのパスが返されます。このパスは次のようになります。
/usr/bin/chromium-browser
次に、単純にパスを設定します。
export CHROME_BIN=/usr/bin/chromium-browser
これでKarmaは、テストを実行するために必要なブラウザーを見つけることができます(グラフィカルインターフェースを使用することを決定した場合)。
google-chrome
というファイルを実行しようとしましたが、存在しません。 chromeの実行可能ファイルの名前はOSによって異なります。したがって、CHROME_BINと呼ばれる環境変数を設定する必要があります。これには、chrome =実行可能。私のシステム(Linuxデスクトップ13.10)では、これはchromium-browser
です。ヨーマンジェネレーターアングル を使用してプロジェクトを設定したところ、chromeまたはphantomjsでカルマを操作できませんでした。
これは そのプロジェクトに固有の問題 であることがわかります。修正は、不足しているプラグインをプロジェクトルートのpackage.jsonに追加するだけです。
私の解決策は、Linuxでwindwsのクロムにエイリアスを作成することです
alias launchchrome="\"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe\""
その後、そのエイリアスをLinux環境変数としてエクスポートします
export CHROME_BIN=launchchrome
これで完了です。ng test
を実行すると、ウィンドウが表示されますchromeが使用されます!この場合はうまくいきました。この解決策で問題が発生した場合は、コメントを残してください。私の答え。