Điều gì gây ra lỗi này - Lỗi nghiêm trọng: Không thể tìm thấy tiếng rít cục bộ


370

Tôi đã gỡ bỏ phiên bản cũ của grunt trước, sau đó tôi đã cài đặt phiên bản grunt mới và sau đó tôi gặp lỗi này:

D: \ www \ grunt-test \ grunt grunt-cli: Giao diện dòng lệnh grunt. (v0.1.4)

Lỗi nghiêm trọng: Không thể tìm thấy tiếng càu nhàu địa phương.

Nếu bạn đang thấy thông báo này, Gruntfile sẽ không được tìm thấy hoặc grunt chưa được cài đặt cục bộ cho dự án của bạn. Để biết thêm thông tin về cài đặt và định cấu hình grunt, vui lòng xem hướng dẫn Bắt đầu: http://gruntjs.com/getting-started

Đây có phải là vì không có một tham chiếu đến tiếng lách cách trong đường dẫn hệ thống của tôi không? Hay cái gì khác? Tôi đã thử cài đặt lại một vài lần rồi.


6
Bạn đã cài đặt trên toàn cầu? npm install grunt -g
elclanrs

1
bạn có một Gruntfile.jsgốc rễ của dự án của bạn?
Simon Boudrias

6
@Garreh Đã được một lúc, nhưng hãy thử npm install grunt --save-devtừ thiết bị đầu cuối. Điều này sẽ thêm phiên bản mới nhất vào của bạn package.json.
Romain

233
Rất tiếc - đã có điều này với một dự án mới được kiểm tra. Chỉ cần làm npm install!
poshaughnessy

6
cài đặt nmp - Cài đặt các phụ thuộc trong thư mục node_modules cục bộ.
poorva 27/12/13

Câu trả lời:


291

Tôi nghĩ rằng bạn không có một grunt.jstập tin trong thư mục dự án của bạn. Sử dụng grunt:init, cung cấp cho bạn các tùy chọn như jQuery, node,commonjs. Chọn những gì bạn muốn, sau đó tiến hành. Điều này thực sự hoạt động. Để biết thêm thông tin bạn có thể truy cập này .

Làm cái này:

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

Nó nên hoạt động.

Giải pháp cho 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.)

Chỉnh sửa: Giải pháp cập nhật cho các phiên bản mới:

 npm install grunt --save-dev

2
Phiên bản này phải là phiên bản cũ (v0.3). Hiện tại tôi không biết nó và cài đặt grunt mới (v0.4) có tên Grunt-CLI.s Something đã thay đổi ..
Ryan Yiada 18/12/12

29
Hiện tại, npm install gruntcài đặt grunt 0.3.x. Bạn sẽ cần phải thực hiện `npm install grunt@0.4 'để cài đặt cục bộ phiên bản grunt cần thiết cho grunt-cli
Jack

6
Tôi muốn các bước cài đặt Grunt sẽ giải quyết @ 0.4. Tôi thực sự vặn tay cố gắng tìm ra điều này cho đến khi tôi tìm thấy bình luận của bạn.
cnp

2
npm install grunt --save-devđã làm điều đó cho tôi
Vinicius Pinto

6
grunt-clinên được cài đặt trên toàn cầu, nhưng nó hy vọng bạn sẽ có một bản cài đặt cục bộ grunt.jstrong dự án của bạn. Điều này cho phép mỗi dự án sử dụng một phiên bản grunt khác nhau. Tôi thường sử dụng npm với tệp pack.json để cài đặt grunt.js tất cả các conribs grunt khác, v.v.
Henry

164

Cài đặt Grunt trong node_modules chứ không phải trên toàn cầu

Unable to find local Grunt có thể có nghĩa là bạn đã cài đặt Grunt trên toàn cầu.

Grunt CLI khẳng định rằng bạn cài đặt grunt trong thư mục node_modules cục bộ của bạn, vì vậy Grunt là cục bộ cho dự án của bạn.

Điều này sẽ thất bại:

npm install -g grunt

Thay vào đó, hãy làm điều này:

npm install grunt --save-dev

83

Làm

npm install

để cài đặt Grunt cục bộ trong ./node_modules(và mọi thứ khác được chỉ định trong package.jsontệp)


4
Tôi đã làm điều đó giống như một kẻ ngốc Tôi đã quên chạy lệnh này sau khi kéo repo của dự án mới sang mac .....: /
neoswf

1
Làm thế nào đến grunt cần phải được cài đặt cục bộ vì công cụ dòng lệnh luôn có thể được định vị trên toàn cầu?
Mike M

1
@MikeM đôi khi bạn có node_modules/.bintrong của bạn PATH. Ngoài ra, địa phương và toàn cầu có thể là phiên bản khác nhau.
Klas Mellbourn

Trong trường hợp của tôi, đó là lỗi của NetBeans. Đôi khi nó làm hỏng các dự án của tôi khi tôi làm git stashtrong công cụ bên ngoài, ở đây nó đã gỡ bỏ một số mô-đun khỏi node_modulesvà mọi thứ đã ngừng hoạt động (và đã hoạt động tốt trước đó). Sau khi npm installnó hoạt động tốt trở lại.
Wirone

26

Nếu bạn đã có một tệp package.jsontrong dự án và nó chứa gruntphụ thuộc,

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

Sau đó, bạn có thể chạy npm installđể giải quyết vấn đề


5

Tôi đã phạm sai lầm khi cài đặt một số gói bằng sudo và các gói khác không có đặc quyền, điều này đã khắc phục vấn đề của tôi.

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

hy vọng nó sẽ giúp được ai đó


5

Nó nói rằng bạn không có một địa phương gruntvì vậy hãy thử:

npm install grunt

(không có -gđịa phương grunt)

Mặc dù không liên quan trực tiếp, hãy đảm bảo bạn có Gruntfile.jstrong thư mục hiện tại của mình.


4

Có thể có một vài vấn đề ở đây tùy thuộc vào phiên bản nào của grunt đang được sử dụng. Các phiên bản mới hơn của grunt thực sự xác định rằng bạn có một tệp có tên Gruntfile.js(thay vì cũ grunt.js).

Bạn nên grunt-clicài đặt công cụ trên toàn cầu (việc này được thực hiện thông qua npm install -g grunt-cli). Điều này cho phép bạn thực sự chạy gruntcác lệnh từ dòng lệnh.

Thứ hai hãy chắc chắn rằng bạn đã cài đặt grunt cục bộ cho dự án của bạn. Nếu bạn thấy bạn package.jsonkhông có cái gì đó giống như "grunt": "0.4.5"vậy thì bạn nên làm npm install grunt --savetrong thư mục dự án của mình.


3

Tôi đã phải thực hiện các lệnh sau trên ubfox để giải quyết vấn đề này (tôi biết tiếng lẩm bẩm trong 1 giờ):

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

Nó bẩn nhưng đó là giải pháp duy nhất tôi tìm thấy ... :(


2

Không có cách nào ở trên làm việc cho tôi vì tôi đã cài đặt toàn cầu (được đề xuất trong một số câu trả lời này, thật kỳ lạ) và điều đó đã làm mọi thứ rối tung lên. Đây là những gì đã làm việc:

npm uninstall -g grunt
npm install

Chỉ bây giờ là một grunt địa phương được cài đặt, và có thể sử dụng, đối với tôi.


0

Là người mới sử dụng và thiết lập nó, tôi đang chạy (có lẽ là ngu ngốc) dự án / thư mục lẩm cẩm của tôi từ Google Drive để tôi có thể truy cập cùng mã / bản dựng từ máy tính xách tay hoặc máy trạm của mình.

Có một chút đồng bộ hóa các thư mục của nút_modules trở lại Google Drive và dường như có một cuộc xung đột tại một số điểm và thư mục / odes_modules / grunt đã được đổi tên thành / odes_modules / grunt (1)

Đổi tên lại bằng cách xóa (1) dường như để sửa nó cho tôi.


Tại sao bạn không sử dụng GIT?
hmrc87

Tôi không muốn theo dõi các thay đổi / phiên bản và đã cố gắng không duy trì hai bản cài đặt riêng biệt, nhưng kịch bản trên khá có vấn đề nên dù sao tôi cũng đã chuyển sang github.
LJT


0

Tôi đã có cùng một vấn đề trong Vagrant.

Tôi đã sử dụng sudo để chạy lệnh để cài đặt.

sudo npm install -g grunt-cli

Nó làm việc cho tôi.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.