2013-08-07 33 views
49

Tôi đã cài đặt yeoman và bắt đầu các ví dụ được cung cấp trong tài liệu chính thức. tôi đã đi qua các hoạt động đề nghịgrunt Lỗi nghiêm trọng: Không thể tìm thấy tiếng gầm cục bộ trong Yeoman

yo webapp 
    bower install underscore 
    grunt 

Sau khi chạy grunt Tôi có thông điệp

grunt-cli: The grunt command line interface. (v0.1.9) 

    Fatal error: Unable to find local grunt. 

    If you're seeing this message, either a Gruntfile wasn't found or grunt 
    hasn't been installed locally to your project. For more information about 
    installing and configuring grunt, please see the Getting Started guide: 

    http://gruntjs.com/getting-started 

Lưu ý rằng grunt đã được cài đặt với

npm install -g grunt-cli 

npm install -g grunt 

yo đã tạo Gruntfile.js trong thư mục gốc của dự án, nơi tôi đang chạy lệnh.
Các package.json đã được tạo ra cũng như:

"name": "testyo", 
    "version": "0.0.0", 
    "dependencies": {}, 
    "devDependencies": { 
     "grunt": "~0.4.1", 
     "grunt-contrib-copy": "~0.4.1", 
     "grunt-contrib-concat": "~0.1.3", 
     "grunt-contrib-coffee": "~0.6.5", 
     "grunt-contrib-uglify": "~0.2.0", 
     "grunt-contrib-compass": "~0.2.0", 
     "grunt-contrib-jshint": "~0.4.1", 
     "grunt-contrib-cssmin": "~0.6.0", 
     "grunt-contrib-connect": "~0.2.0", 
     "grunt-contrib-clean": "~0.4.0", 
     "grunt-contrib-htmlmin": "~0.1.3", 
     "grunt-contrib-imagemin": "~0.1.3", 
     "grunt-contrib-watch": "~0.4.0", 
     "grunt-rev": "~0.1.0", 
     "grunt-autoprefixer": "~0.1.20130516", 
     "grunt-usemin": "~0.1.10", 
     "grunt-mocha": "~0.3.0", 
     "grunt-open": "~0.2.0", 
     "grunt-svgmin": "~0.1.0", 
     "grunt-concurrent": "~0.1.0", 
     "matchdep": "~0.1.1", 
     "connect-livereload": "~0.2.0" 
    }, 
    "engines": { 
     "node": ">=0.8.0" 
    } 

Ngoài ra. Từ thư mục gốc

grunt --version 
    grunt-cli v0.1.9 

Điều này xác nhận rằng grunt có sẵn để chạy trong mọi thư mục.
Bất kỳ ý tưởng nào?

Trả lời

91

Sau một số nghiên cứu nhanh chóng tôi nhận ra, từ grunt documentation, sự cố phải được cài đặt trong dự án. Tôi đã làm điều đó bằng cách chạy:

sudo npm install grunt --save-dev 

Hiện công việc grunt.

Tôi cũng cần thiết để chạy:

npm install 

sao cho tất cả các phụ thuộc được nạp.

Điều này giải quyết được sự cố của tôi. Thành thật mà nói, tôi nghĩ yeoman sẽ tự động thực hiện hai bước cuối cùng.

Trong trường hợp bạn có nhận xét hoặc nghĩ rằng có giải pháp tốt hơn, vui lòng để lại nhận xét.

+7

Sau khi giàn giáo, Yeoman tự động gọi 'npm install' cũng như' bower install'. Giống như mọi thứ trong thế giới phần mềm, đôi khi lỗi xuất hiện. Đối với một số lý do, trong quá trình giàn giáo của bạn, quá trình này phải đã thoát quá sớm khỏi lỗi, ngăn chặn 'npm install' được chạy theo mặc định. – Stephen

+1

thanx cho thư trả lời của bạn. Tôi đã kiểm tra tất cả các mã nguồn :-). Còn lại bài viết của tôi trong trường hợp có thể hữu ích cho một số người khác mới để yeoman. – blackbird014

+0

lạ, tôi chỉ cần làm lại cài đặt npm khi tôi thay đổi chi nhánh git từ chi nhánh không góc của tôi trở lại góc của tôi – shicholas

13
npm cache clean 
sudo npm install grunt --save-dev 

thực sự đã làm các trick cho tôi

+1

Tôi đang sử dụng OS X - và đây cũng là mỏ cố định của tôi. Cảm ơn bạn đã chia sẻ, không có mẹo của bạn tôi đã có thể tìm kiếm lâu hơn. Đối với bất cứ ai đọc và là người mới để Grunt - cũng cài đặt Bower. –

2

Tôi chạy vào cùng một vấn đề.

Sau khi chạy npm install, đảm bảo thư mục node_modules được tạo trong thư mục gốc của dự án của bạn. Đây là thư mục chứa "grunt cục bộ". Nếu thư mục không có ở đó, hãy kiểm tra npm cofiguration của bạn npm config ls và đảm bảo bạn có global=false.

Tôi đã tìm thấy giải pháp tại đây: https://stackoverflow.com/a/13449393/1046584