56

Windows 8 マシンでコマンド ラインから Grunt を実行すると問題が発生します。

私の調査によると、Grunt はもはやグローバルではないため、最も一般的な解決策は grunt-cli をインストールすることです。また、Grunt タスク ランナーは grunt-cli ではインストールされないため、実際に Grunt タスク ランナーをインストールする必要があります。

他のソリューションはPATHシステム環境変数を指していますが、それは私が期待するように指されているようです:

C:\Users[ユーザー名]\AppData\Roaming\npm

すべてを行っても、CLI で「'grunt' は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません」というエラー メッセージが表示されます。次のことを試しましたが、試行するたびにすべてをアンインストールしました。

  • grunt-cli をグローバルにインストールし (npm install -g grunt-cli)、次に使用したいディレクトリ レベルで grunt (npm install grunt)
  • 上記と同じですが、インストールの順序が逆です
  • 上記の両方と同じですが、管理者コマンド プロンプトを使用します

明らかな何かが欠けていますか?

4

11 に答える 11

63

いくつかの異なる Windows 8 マシンでうなり声に問題はありませんでした。

フォルダを開く場合:C:\Users\[username]\AppData\Roaming\npm

grunt.cmdこのフォルダに名前の付いたファイルがありますか?

npm install -g grunt-cliそうでない場合は、昇格したコマンドプロンプトから再試行するかもしれません。

これが存在C:\Users\[username]\AppData\Roaming\npmし、PATH 環境変数にある場合は、コマンド プロンプトから grunt と入力すると機能します。

ばかげた質問ですが、コマンド プロンプトを閉じて、新しいプロンプトを開きましたか?

于 2013-10-02T11:50:41.580 に答える
37

あなたが正しいことを確認してくださいPATH(そしてめちゃくちゃではありません)。PATHコマンドプロンプトから入力するだけです。説明しているエラーと実行した手順を考えると、他に意味のある説明はありません。

通常、コマンドを使用すると、 が正しくインストールされ、システム パスに適切に追加されていれば、パスwhere gruntが見つかります。grunt.cmdnpm

于 2013-10-02T13:03:07.517 に答える
16
  1. すべてのコマンド プロンプト インスタンスを閉じます。
  2. 新しいコマンド プロンプト インスタンスを開始します。
  3. がパスの一部であるかどうかを入力PATH Enterして確認します。C:\Users\Username\AppData\Roaming\npm
  4. そうでない場合は、ログオフして再度ログオンするか、
    コマンド プロンプトを閉じてexplorerプロセスを再起動する必要があります。
  5. コマンド プロンプトで、 と入力しwhere grunt Enterます。
    次のように報告されれば問題ありません。

    C:\Users\Username\AppData\Roaming\npm\grunt
    C:\Users\Username\AppData\Roaming\npm\grunt.cmd
    
  6. それ以外の場合、次のgrunt-cliように報告された場合は、パッケージを再インストールする必要があります。

    INFO: Could not find files for the given pattern(s).
    

どうやら、PATH環境変数を変更するプログラムはメッセージをブロードキャストする必要がありWM_SETTINGCHANGEます。変数を変更すると、 Windows のシステム設定ウィンドウは正しく動作しますPATHが、NPM インストーラーはそうしません。そのため、エクスプローラーを再起動する必要があります (またはログオフまたは再起動しても同じ効果があります)。

于 2014-02-17T18:51:02.377 に答える
7

これが回答されたことは知っていますが、Windows 8の段階的な解決策を提供したいと思いました.

最初に確認したのは、ラップトップの環境変数の PATH でした (コンピューターを右クリックし、[プロパティ] > [システムの詳細設定] > [環境変数] をクリックします)。

そこにはリストされていなかったので、ユーザー変数に新しい変数を追加しました(したがって、それは私のユーザーアカウントにのみ固有でした)

新しいユーザー変数プロンプトで、次のように入力しました。

Variable Name: PATH

Variable Value: %USERPROFILE%\AppData\Roaming\npm

コマンド プロンプトを終了し、再度アクセスし、プロジェクト ディレクトリに移動して、grunt再度実行を試みたところ、成功しました。

于 2014-06-17T00:09:32.013 に答える
5

同じ問題がありました。

私はさまざまなことを試しました:

  • コンピューターを再起動
  • grunt フォルダーを削除して実行しました

npm install -g grunt -cli

うまくいきませんでした。

最後に試した:

npm install -g grunt-cli

完璧に機能しました。

試した

うなり声

そして、それが見つかった2つの場所を見ました。

于 2014-05-29T18:02:16.260 に答える
4

Windows 8でも同じ問題に直面していました

パス変数に「%APPDATA%\npm」を​​追加しました。それはうまくいっています。

于 2015-08-18T04:34:18.677 に答える
1

私にも同じことが起こりましたが、解決策は次のとおりです。Node.JS の 2 つの異なるバージョンがインストールされていますか? もしかしてノーディスト?これは、NPM を 2 回インストールした可能性が高いことを意味します。これにより、コマンドが 2 つの異なるフォルダーにインストールさ C:\Users\<user>\AppData\Roaming\npmC:\dev\nodist\bin\binます。

C:\dev\nodist\bin\binパス変数になかったので追加し、使用したくない Node.JS バージョンを削除しました。

于 2015-03-18T11:16:37.007 に答える
1

NPM のインストールによって、基本的な Windows パスが破損することがあります。私は通常、独自のバージョンの PATH のコピーを個別に維持しています。毎週または一部のインストールで、%PATH% 変数を手動で構成および更新します。

基本的に Grunt.cmd は %PATH% 変数からは利用できません。

于 2013-11-06T16:03:12.820 に答える
1

Windows 8 で問題が発生しました。grunt-cli をインストールした後、grunt -vまたはwhere grunt. したがって、環境 PATH にこのパスを追加しC:\Program Files (x86)\Git\local、そのフォルダーから grunt.cmd を実行しました (ここで node_modules フォルダーを確認する必要があります)。そして、端末をリロードした後、すべてが機能し始めました。

于 2014-10-22T20:49:25.837 に答える
0

npm によって作成された grunt.cmd ファイルがない場合は、ホーム ディレクトリに.npmrcbin-links=falseが含まれていないことを確認してください。

于 2015-05-16T20:56:08.960 に答える