1

私はノードが初めてです。nodejs+karma+jasmine を使用して、TeamCity で JavaScript テストを実行しようとしています。

ローカル開発マシンと TeamCity の両方にノードをインストールしました。両方の場所で機能しているようです。

を使用してカルマをローカルにインストールし、を使用npm install karmaして構成し.\node_modules\.bin\karma.cmd initました。テストは、を使用してローカルで正常に実行され.\node_modules\.bin\karma.cmd start --single-run ます。node_module フォルダー全体をチェックインしました。

実行するコマンドラインステップを使用して TeamCity でカルマを実行しようとすると.\node_modules\.bin\karma.cmd start --single-run、次のようになります。

[08:52:42][Step 6/6] module.js:340
[08:52:42][Step 6/6]     throw err;
[08:52:42][Step 6/6]           ^
[08:52:42][Step 6/6] Error: Cannot find module 'D:\tc_a1\work\c4418f0fd0a402a7\node_modules\karma\bin\karma'
[08:52:42][Step 6/6]     at Function.Module._resolveFilename (module.js:338:15)
[08:52:42][Step 6/6]     at Function.Module._load (module.js:280:25)
[08:52:42][Step 6/6]     at Function.Module.runMain (module.js:497:10)
[08:52:42][Step 6/6]     at startup (node.js:119:16)
[08:52:42][Step 6/6]     at node.js:901:3

run コマンドのいくつかの順列を試しましたが、すべて同じ結果になります。

どうすれば機能しますか?

4

2 に答える 2

0

の TeamCity エージェントのディレクトリ構造はどのようになっていD:\tc_a1\work\c4418f0fd0a402a7ますか? あなたのnode_modulesフォルダは存在しますか?

ユーザー プロファイル (グローバルにインストールされた npm パッケージの場所) の外側のフォルダーに Karma をコピーして TeamCity で実行し、パスに追加して、パス全体を指定せずに実行できるようにします。

于 2013-10-09T01:14:16.533 に答える