GruntはすべてのWindowsユーザーに対して機能しているわけではありません。一部のユーザーは、npm install
コマンド;以下のようにメッセージを出力します。
E:\Worksapce\web>npm install
npm WARN package.json [email protected] No repository field.
私が試したときnpm install -g grunt-cli
、成功したと思う。
E:\Worksapce\web>npm install -g grunt-cli
npm http GET http://registry.npmjs.org/grunt-cli
npm http 304 http://registry.npmjs.org/grunt-cli
npm http GET http://registry.npmjs.org/nopt
npm http GET http://registry.npmjs.org/findup-sync
npm http GET http://registry.npmjs.org/resolve
npm http 304 http://registry.npmjs.org/nopt
npm http 304 http://registry.npmjs.org/resolve
npm http 304 http://registry.npmjs.org/findup-sync
npm http GET http://registry.npmjs.org/abbrev
npm http 304 http://registry.npmjs.org/abbrev
npm http GET http://registry.npmjs.org/glob
npm http GET http://registry.npmjs.org/lodash
npm http 304 http://registry.npmjs.org/glob
npm http 304 http://registry.npmjs.org/lodash
npm http GET http://registry.npmjs.org/inherits
npm http GET http://registry.npmjs.org/minimatch
npm http 304 http://registry.npmjs.org/minimatch
npm http 304 http://registry.npmjs.org/inherits
npm http GET http://registry.npmjs.org/lru-cache
npm http GET http://registry.npmjs.org/sigmund
npm http 304 http://registry.npmjs.org/lru-cache
npm http 304 http://registry.npmjs.org/sigmund
C:\Users\user1234\AppData\Roaming\npm\grunt -> C:\Users\user1234\AppData\Roaming
\npm\node_modules\grunt-cli\bin\grunt
[email protected] C:\Users\user1234\AppData\Roaming\npm\node_modules\grunt-cli
+-- [email protected]
+-- [email protected] ([email protected])
+-- [email protected] ([email protected], [email protected])
しかし、うなり声を実行すると、次のようなエラーメッセージが表示されます。
E:\Worksapce\web>
E:\Worksapce\web>grunt
'grunt' is not recognized as an internal or external command,
operable program or batch file.
私のpackage.jsonはこれです。
{
"author": "Company",
"name": "registers",
"version": "4.0.0",
"homepage": "http://abcd.se",
"dependencies": {},
"devDependencies": {
"grunt": "~0.4.4",
"grunt-contrib-jshint": "~0.9.2",
"grunt-contrib-watch": "~0.6.1",
"grunt-contrib-less": "~0.11.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-copy": "~0.5.0",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-uglify": "~0.4.0",
"grunt-ngmin": "0.0.3",
"grunt-contrib-jasmine": "~0.5.2"
}
}
別のユーザーは、問題なくgruntを正常に実行できます。これは一部のユーザーのみを表します。
何が間違っているのか教えてください。
Gruntはグローバルにインストールされなくなりました。詳細については、 Getting Started ページを参照してください。
以下のコマンドは、これを修正するのに役立ちます。
npm install -g grunt-cli
ログは、grunt
コマンドがグローバルディレクトリに作成されたことを示しています。エラーは、C:\Users\mc862634\AppData\Roaming\npm\
はパスにありません。
PATH
を確認し、\AppData\Roaming\npm
場所がない場合は追加されます。
チェックする最も簡単な方法は、コマンドプロンプトを開き、PATH
と入力することです。
参照としてこの他のStackOverflowの質問を参照してください: Windows 8のグラント: 'grunt'は認識されません
Windows 8では、GruntはPATH
に以下を追加する必要があります。
C:\Users\your_username\AppData\Roaming\npm
一部のシステムでは、PATHで許容される文字数が制限されているため、npm install -g grunt-cli
を実行した後でも、gruntに必要な正しいパスが追加されないことがあります。一部の設定(たとえば、インストールした特定のプログラム)は、一般にフェイルセーフとして存在し、多くの場合必要ないため、PATHから安全に削除できます。この問題がある場合:
PATH
の変数をバックアップします(このPC>右クリック>プロパティ>システムの詳細設定>環境変数>現在のユーザーの「パス」ユーザー変数を「編集」し、「変数値」とどこかに保存してください)PATH
から値の一部を削除し、パスに追加しますC:\Users\your_username\AppData\Roaming\npm
また、Grunt CLIをインストールしてパスを追加した後、Grunt
を試す前に、開いているコマンドウィンドウをすべて閉じてから再度開いてください。
Grunt-CLI
は%AppData%\ npm内にインストールされるため、%PATH%
は:
%AppData%\npm
Windows XPを使用している開発者が同じような問題を抱えている場合、Pathエントリを変更する必要があります。
From:C:\ Users\change_username\AppData\Roaming\npm\grunt
To:C:\ Documents and Settings\change_username\Application Data\npm
npm install grunt -g(または)npm install -g grunt-cliコンピューターの環境変数パスを確認してください。AppDataのパスが含まれている必要があります。例:E:\ $ APPDATA\npm \;
MyComputer->右クリック->プロパティ->システム設定の詳細->環境変数->パス