web-dev-qa-db-ja.com

「うなり声」は、一部のWindowsユーザーの内部または外部コマンドとして認識されません

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を正常に実行できます。これは一部のユーザーのみを表します。

何が間違っているのか教えてください。

33
Patan

Gruntはグローバルにインストールされなくなりました。詳細については、 Getting Started ページを参照してください。

以下のコマンドは、これを修正するのに役立ちます。

npm install -g grunt-cli
63
Aditi

ログは、gruntコマンドがグローバルディレクトリに作成されたことを示しています。エラーは、C:\Users\mc862634\AppData\Roaming\npm\はパスにありません。

PATHを確認し、\AppData\Roaming\npm場所がない場合は追加されます。

チェックする最も簡単な方法は、コマンドプロンプトを開き、PATHと入力することです。

参照としてこの他のStackOverflowの質問を参照してください: Windows 8のグラント: 'grunt'は認識されません

17

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を試す前に、開いているコマンドウィンドウをすべて閉じてから再度開いてください。

14
Chris Halcrow

Grunt-CLIは%AppData%\ npm内にインストールされるため、%PATH%は:

%AppData%\npm
2
isapir

Windows XPを使用している開発者が同じような問題を抱えている場合、Pathエントリを変更する必要があります。

From:C:\ Users\change_username\AppData\Roaming\npm\grunt

To:C:\ Documents and Settings\change_username\Application Data\npm

1
jovenb

npm install grunt -g(または)npm install -g grunt-cliコンピューターの環境変数パスを確認してください。AppDataのパスが含まれている必要があります。例:E:\ $ APPDATA\npm \;

MyComputer->右クリック->プロパティ->システム設定の詳細->環境変数->パス

0
Sathish Kumar M