このエラーの原因-「致命的なエラー:ローカルのうなり声が見つかりません」


370

最初に古いバージョンのgruntを削除してから、新しいバージョンのgruntをインストールしたところ、次のエラーが発生しました。

D:\ www \ grunt-test \ grunt grunt-cli:gruntコマンドラインインターフェイス。(v0.1.4)

致命的なエラー:ローカルのうなり声が見つかりません。

このメッセージが表示される場合は、Gruntfileが見つからなかったか、プロジェクトにローカルにgruntがインストールされていません。gruntのインストールと設定の詳細については、スタートガイドを参照してくださいhttp : //gruntjs.com/getting-started

これは、私のシステムパスにgruntへの参照がないためですか?または、他の何か?私はすでに数回それを再インストールしようとしました。


6
グローバルにインストールしましたか?npm install grunt -g
elclanrs

1
あなたは持っているんGruntfile.jsあなたのプロジェクトのルートに?
Simon Boudrias

6
@Garreh久しぶりですがnpm install grunt --save-dev、ターミナルからお試しください。これにより、最新バージョンがに追加されますpackage.json
ロメイン

233
おっと-新しくチェックアウトしたプロジェクトでこれがありました。する必要があるだけnpm install
poshaughnessy 2013年

6
nmp install-依存関係をローカルのnode_modulesフォルダーにインストールします。
poorva 2013

回答:


291

grunt.jsプロジェクトディレクトリにファイルがないと思います。を使用するとgrunt:init、などのオプションが表示されjQuery, node,commonjsます。必要なものを選択して、次に進みます。これは本当に機能します。詳細については、あなたが訪問することができ、これを

これを行う:

 1. npm install -g grunt
 2. grunt:init  ( you will get following options ):
      jquery: A jQuery plugin
      node: A Node module
      commonjs: A CommonJS module
      gruntplugin: A Grunt plugin
      gruntfile: A Gruntfile (grunt.js)
 3 .grunt init:jquery (if you want to create a jQuery related project.).

うまくいくはずです。

v1.4のソリューション:

1. npm install -g grunt-cli
2. npm init
   fill all details and it will create a package.json file.
3. npm install grunt (for grunt dependencies.)

編集:新しいバージョン用に更新されたソリューション:

 npm install grunt --save-dev

2
このバージョンは古いバージョン(v0.3)である必要があります。今日私はそれをインストールしていません。Grunt-CLIと呼ばれる新しいgrunt(v0.4)をインストールします。何かが変更されました
。–

29
現在、npm install gruntgrunt 0.3.xをインストールします。`npm install grunt@0.4 'を実行して、grunt-cliに必要なバージョンのgruntをローカルにインストールする必要があります
Jack

6
Gruntのインストール手順が@ 0.4に対応することを願っています。私があなたのコメントが見つかるまで、これを理解しようとする私の手を本当に絞っていました。
cnp 2013

2
npm install grunt --save-dev私のためにそれをしました
Vinicius Pinto

6
grunt-cliグローバルにインストールする必要がgrunt.jsありますが、プロジェクトにのローカルインストールが必要です。これにより、各プロジェクトで異なるバージョンのgruntを使用できます。私は通常、すべてなどconribs面倒他のgrunt.jsをインストールするにはpackage.jsonファイルでNPMを使用
ヘンリー・

164

グローバルではなくnode_modulesにGruntをインストールする

Unable to find local Grunt おそらくGruntをグローバルにインストールしたことを意味します。

Grunt CLIは、ローカルのnode_modulesディレクトリにgruntをインストールするように要求しているため、Gruntはプロジェクトに対してローカルです。

これは失敗します:

npm install -g grunt

代わりにこれを行ってください:

npm install grunt --save-dev

83

行う

npm install

ローカルにGruntをインストールする./node_modules(およびpackage.jsonファイルで指定されたその他すべて)


4
私は.....私はMacに新しい新鮮なプロジェクトのレポを引いた後、このコマンドを実行し忘れた愚か者のようにその原因をしました:/
neoswf

1
コマンドラインツールは常にグローバルに配置できるので、どうしてgruntをローカルにインストールする必要があるのですか?
Mike M

1
@MikeM時にはあなたが持っているnode_modules/.binあなたにPATH。また、ローカルとグローバルは異なるバージョンにすることができます。
Klas Mellbourn、2015

私の場合、それはNetBeansの責任でした。git stash外部ツールで実行すると、プロジェクトがクラッシュすることがあります。ここでは、いくつかのモジュールが削除されnode_modules、すべてが機能しなくなりました(以前は正常に機能していました)。後にnpm install、それが再びうまく動作します。
Wirone、2015年

26

package.jsonプロジェクトにすでにファイルがありgrunt、依存関係に含まれている場合、

  "devDependencies": {
    "grunt": "~0.4.0",

次に、実行npm installして問題を解決できます


5

私はsudoを使用していくつかのパッケージをインストールするのを間違えました、そして、特権なしで、これは私の問題を修正しました。

sudo chown -R $(whoami) $HOME/.npm

それが誰かを助けることを願っています。


5

それはあなたがローカルを持っていないgruntので、試してみてください:

npm install grunt

-gそれはローカルではありませんgrunt

直接関係はありませんがGruntfile.js、現在のフォルダにいることを確認してください。


4

使用されているgruntのバージョンに応じて、ここでいくつかの問題になる可能性があります。gruntの新しいバージョンでは、実際Gruntfile.jsには(古いの代わりにgrunt.js)という名前のファイルがあることを指定しています。

grunt-cliツールをグローバルにインストールする必要があります(これはを介して行われますnpm install -g grunt-cli)。これによりgrunt、コマンドラインから実際にコマンドを実行できます。

次に、プロジェクト用にローカルにgruntがインストールされていることを確認します。あなたの中にpackage.json何かのようなものが見られない場合は、プロジェクトディレクトリで"grunt": "0.4.5"行う必要がnpm install grunt --saveあります。


3

この問題を解決するには、ubuntuで次のコマンドを実行する必要がありました(私は1時間不平を言っています)。

sudo npm install -g grunt
sudo npm install -g grunt-cli

cd /usr/local/bin
# current symlink points to ../lib/node_modules/grunt/bin/grunt*
sudo rm /usr/local/bin/grunt
sudo ln -s ../lib/node_modules/grunt-cli/bin/grunt* grunt

それは汚れていますが、私が見つけた唯一の解決策です... :(


2

上記のどれも私にはうまくいきませんでした。なぜなら、私はグローバルにインストールした(奇妙なことに、これらの回答のいくつかで推奨されています)ため、すべてが台無しになってしまったためです。これがうまくいったことです:

npm uninstall -g grunt
npm install

ついに、ローカルなうなり声がインストールされ、私にとって使いやすくなりました。


0

初心者で設定しているので、ノートパソコンまたはワークステーションから同じコード/ビルドにアクセスできるように、Googleドライブから(おそらくばかげて)グラントプロジェクト/フォルダを実行しています。

nodes_modulesフォルダーのGoogleドライブへの同期のかなりのビットがあり、ある時点で競合があるようで、/ nodes_modules / gruntフォルダーの名前が/ nodes_modules / gruntに変更されました(1)

(1)を削除して名前を変更すると、修正されたようです。


なぜGITを使わないのですか?
hmrc87 2016年

私は変更を追跡/バージョンしたくなく、2つの個別のgruntインストールを維持しようとはしていませんでしたが、上記のシナリオはかなり問題があったため、とにかくgithubに移動しました。
LJT 2016年


0

Vagrantでも同じ問題が発生しました。

sudoを使用してインストールするコマンドを実行しました。

sudo npm install -g grunt-cli

それは私のために働いた。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.