23

gruntfile.jsTeamCity でのビルドの一部として単純なものを実行しようとしています。ただし、grunt と grunt-cli をグローバル ノード パッケージとしてインストールした後でも、TeamCity はそれらを認識しません。コマンドラインに入力gruntして動作しますが、コマンドラインランナーまたはパラメーター付きの実行可能ファイルを介して TeamCity で実行すると、引き続き

'grunt' is not recognized as an internal or external command

grunt スクリプトを実行するためのプラグインであるTeamCity.Nodeもインストールしようとしましたが、grunt も見つかりません。何か案は?

4

8 に答える 8

33

受け入れられたソリューションを機能させることができませんでした。私にとっての問題は、TeamCity サービス (サーバーとエージェント) がシステム アカウントで実行されていたことです。私の知る限り、「OSのすべてのユーザーにnpmパッケージをグローバルにインストールする」という概念はありません。だから私:

  1. TeamCity Windows ユーザーを作成しました
  2. そのユーザーとして実行するように TeamCity サービスを変更しました
  3. TeamCity ユーザーとして OS にログイン
  4. npm install -g grunt-cli を実行しました
  5. サービスを再開しました。

そこから、NodeJS、NPM、および Grunt タスクが機能し始めました。

于 2013-05-22T22:33:20.180 に答える
2

NPM をインストールした後、TeamCity ビルド エージェントを再起動する必要があります。

于 2018-01-19T14:46:48.923 に答える
1

私はこの質問がちょっと古いことを知っています。しかし、私は最近同じ問題に苦しんでいて、解決策を見つけることができませんでした...しかし、ついに解決しました. はい、どうぞ。

TeamCity のビルド手順には、次のものが含まれている必要があります。

1) インストール grunt-cli コマンド ライン コマンド: npm install grunt-cli

2) grunt ビルド タスクの実行 コマンド ライン コマンド: node "node_modules/grunt-cli/bin/grunt" build

どちらの場合も、作業ディレクトリは grountfile.js がある場所にする必要があります。

于 2016-01-25T19:19:48.120 に答える