Apa yang menyebabkan kesalahan ini - "Kesalahan fatal: Tidak dapat menemukan gerutuan lokal"

370

Saya menghapus versi grunt yang lama terlebih dahulu, kemudian saya menginstal versi grunt yang baru, dan kemudian saya mendapatkan kesalahan ini:

D: \ www \ grunt-test \ grunt grunt-cli: Antarmuka baris perintah grunt. (v0.1.4)

Kesalahan fatal: Tidak dapat menemukan gerutuan lokal.

Jika Anda melihat pesan ini, Gruntfile tidak ditemukan atau grunt belum diinstal secara lokal ke proyek Anda. Untuk informasi lebih lanjut tentang menginstal dan mengkonfigurasi grunt, silakan lihat panduan Memulai: http://gruntjs.com/getting-started

Apakah ini karena tidak ada referensi untuk mendengus di jalur sistem saya? Atau sesuatu yang lain? Saya sudah mencoba menginstalnya kembali beberapa kali.

Ryan Yiada
sumber
6
Apakah Anda menginstal secara global? npm install grunt -g
Elclanrs
1
apakah Anda memiliki Gruntfile.jsakar dari proyek Anda?
Simon Boudrias
6
@ Garreh Sudah lama, tapi coba npm install grunt --save-devdari terminal. Ini harus menambahkan versi terbaru ke package.json.
Romain
233
Ups - dapatkan ini dengan proyek yang baru diperiksa. Hanya perlu dilakukan npm install!
poshaughnessy
6
nmp install - Menginstal dependensi di folder node_modules lokal.
poorva

Jawaban:

291

Saya pikir Anda tidak memiliki grunt.jsfile di direktori proyek Anda. Gunakan grunt:init, yang memberi Anda opsi seperti jQuery, node,commonjs. Pilih apa yang Anda inginkan, kemudian lanjutkan. Ini benar-benar berfungsi. Untuk informasi lebih lanjut, Anda dapat mengunjungi ini .

Melakukan hal ini:

 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.).

Itu harus bekerja.

Solusi untuk 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.)

Sunting: Solusi yang diperbarui untuk versi baru:

 npm install grunt --save-dev
Anshul
sumber
2
Versi ini harus yang lama (v0.3). Hari ini saya tidak dihapuskan, dan instal grunt baru (v0.4) bernama Grunt-CLI. Sesuatu telah berubah ..
Ryan Yiada
29
Saat ini, npm install gruntinstal grunt 0.3.x. Anda harus melakukan `npm install [email protected] 'go lokal instal versi grunt yang diperlukan untuk grunt-cli
Jack
6
Saya berharap langkah-langkah menginstal Grunt akan mengatasi @ 0,4. Benar-benar meremas-remas tangan saya mencoba mencari tahu ini sampai saya menemukan komentar Anda.
cnp
2
npm install grunt --save-devmelakukannya untuk saya
Vinicius Pinto
6
grunt-cliharus diinstal secara global, tetapi diharapkan Anda memiliki instalasi lokal grunt.jsdi proyek Anda. Ini memungkinkan setiap proyek untuk menggunakan versi mendengus yang berbeda. Saya biasanya menggunakan npm dengan file package.json untuk menginstal grunt.js semua conribs grunt lainnya, dll.
Henry
164

Instal Grunt dalam node_modules daripada secara global

Unable to find local Grunt kemungkinan berarti Anda telah menginstal Grunt secara global.

The Grunt CLI menegaskan bahwa Anda menginstal grunt di direktori node_modules lokal Anda, jadi Grunt bersifat lokal untuk proyek Anda.

Ini akan gagal:

npm install -g grunt

Lakukan ini sebagai gantinya:

npm install grunt --save-dev
superluminary
sumber
83

Melakukan

npm install

untuk menginstal Grunt secara lokal di ./node_modules(dan segala sesuatu yang ditentukan dalam package.jsonfile)

Klas Mellbourn
sumber
4
Saya melakukan hal itu seperti orang bodoh, saya lupa menjalankan perintah ini setelah menarik repo proyek baru yang baru ke mac .....: /
neoswf
1
Kenapa grunt perlu diinstal secara lokal karena alat baris perintah selalu dapat ditemukan secara global?
Mike M
1
@MikeM terkadang Anda miliki node_modules/.bindi PATH. Juga, lokal dan global dapat menjadi versi yang berbeda.
Klas Mellbourn
Dalam kasus saya itu adalah kesalahan NetBeans. Kadang-kadang crash proyek saya ketika saya lakukan git stashdi alat eksternal, di sini ia menghapus beberapa modul dari node_modulesdan semuanya berhenti berfungsi (dan berfungsi dengan baik sebelumnya). Setelah npm installitu berfungsi dengan baik lagi.
Wirone
26

Jika Anda sudah memiliki file package.jsondi proyek dan berisi gruntdependensi,

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

Kemudian Anda dapat menjalankan npm installuntuk menyelesaikan masalah

Anthony Kong
sumber
5

Saya membuat kesalahan untuk menginstal beberapa paket menggunakan sudo dan lainnya tanpa hak istimewa, ini memperbaiki masalah saya.

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

semoga membantu seseorang.

misterzik
sumber
5

Dikatakan Anda tidak memiliki lokal gruntjadi cobalah:

npm install grunt

(tanpa -gitu adalah lokal grunt)

Meskipun tidak terkait langsung, pastikan Anda ada Gruntfile.jsdi folder Anda saat ini.

Tomer Ben David
sumber
4

Bisa jadi beberapa masalah di sini tergantung pada versi grunt yang digunakan. Versi grunt yang lebih baru sebenarnya menentukan bahwa Anda memiliki file yang bernama Gruntfile.js(bukan yang lama grunt.js).

Anda harus menginstal grunt-clialat secara global (ini dilakukan melalui npm install -g grunt-cli). Ini memungkinkan Anda untuk benar-benar menjalankan gruntperintah dari baris perintah.

Kedua, pastikan Anda telah menginstal grunt secara lokal untuk proyek Anda. Jika Anda melihat Anda package.jsontidak memiliki sesuatu seperti "grunt": "0.4.5"di dalamnya maka Anda harus melakukannya npm install grunt --savedi direktori proyek Anda.

Nick Schaubeck
sumber
3

Saya harus menjalankan perintah berikut di ubuntu untuk menyelesaikan masalah ini (saya tahu mendengus selama 1 jam):

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

Itu kotor tetapi itu satu-satunya solusi yang saya temukan ... :(

Maks
sumber
2

Tidak ada yang di atas bekerja untuk saya karena saya mendengus diinstal secara global (direkomendasikan dalam beberapa jawaban ini, anehnya) dan itu mengacaukan semuanya. Inilah yang berhasil:

npm uninstall -g grunt
npm install

Hanya sekarang adalah dengkuran lokal diinstal, dan bisa digunakan, untuk saya.

mlncn
sumber
0

Menjadi orang baru yang mendengus dan mengaturnya, saya menjalankan (mungkin dengan bodohnya) proyek penggerek / folder saya dari Google Drive sehingga saya dapat mengakses kode / build yang sama dari laptop atau workstation saya.

Ada sedikit sinkronisasi folder nodes_modules kembali ke Google Drive dan tampaknya ada konflik di beberapa titik, dan folder / nodes_modules / grunt diubah namanya menjadi / nodes_modules / grunt (1)

Mengganti nama kembali dengan menghapus (1) sepertinya memperbaikinya untuk saya.

LJT
sumber
Mengapa Anda tidak menggunakan GIT?
hmrc87
Saya tidak ingin melacak / perubahan versi dan berusaha untuk tidak mempertahankan dua menginstal mendengus terpisah, tetapi skenario di atas cukup bermasalah sehingga saya telah pindah ke github.
LJT
0

Hanya npm installuntuk menginstalnode_modules

Miku Ghoul
sumber
0

Saya memiliki masalah yang sama di Vagrant.

Saya telah menggunakan sudo untuk menjalankan perintah untuk menginstal.

sudo npm install -g grunt-cli

Ini berhasil untuk saya.

pengguna1012513
sumber
0

Anda cukup menjalankan perintah ini:

npm install grunt --save-dev
Vinod Kumar
sumber