web-dev-qa-db-ja.com

Windows 8のGrunt:「grunt」は認識されません

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

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

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

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

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

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

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

56
Daniel Attfield

PATHが正しいことを確認します(混乱していないこと)。コマンドプロンプトからPATHと入力するだけです。あなたが説明しているエラーとあなたがとったステップを考えると、意味のある他の説明は本当にありません。

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

37
WiredPrairie

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

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

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

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

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

愚かな質問、コマンドプロンプトを閉じて新しいものを開いてみましたか?

63
Rik Leigh
  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メッセージをブロードキャストする必要があります。 PATH変数を変更すると、WindowsのSystem設定ウィンドウは正しく動作しますが、NPMインストーラーは動作しません。そのため、Explorerを再起動する必要があります(またはログオフまたは再起動すると、同じ効果が得られます)。

私はこれが回答されたことを知っていますが、私はWindows 8用のステップバイステップのソリューションを提供すると思いました。

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

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

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

Variable Name: PATH

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

コマンドプロンプトを終了し、再度作成し、プロジェクトディレクトリに移動して、gruntを再度実行してみました...成功しました!

5
Tom Gillard

同じ問題がありました。

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

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

npm install -g grunt -cli

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

最後に試した:

npm install -g grunt-cli

完璧に働きました。

試した

どこうなり

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

5
jsicary

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

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

4
JP Bala Krishna

同じことが私に起こりました、そしてここに解決策がありました:Node.JSの2つの異なるバージョンをインストールしましたか?たぶんノーディスト?これは、NPMを2回インストールして、コマンドを2つの異なるフォルダー(1回はC:\Users\<user>\AppData\Roaming\npmに、1回はC:\dev\nodist\bin\bin)にインストールすることを意味します。

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

1
sebbulon

Windows 8では、grunt-cliをインストールした後、_grunt -v_または_where grunt_を確認しようとすると、常に「コマンドが見つかりません」という問題が発生します。そこで、このパスC:\Program Files (x86)\Git\localを環境PATHに追加し、そのフォルダーからgrunt.cmdを実行します(ここでnode_modulesフォルダーを調べる必要があります)。そして、私の端末をリロードした後、すべてが機能し始めました。

1
Chekit

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

基本的に、Grunt.cmdは%PATH%変数を介して利用できません。

1
kadalamittai

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

0
winblood