2013-02-15 29 views
14

Tôi tự hỏi nếu nó có thể chạy grunt 0.4. * Mà không cần phải cài đặt grunt-cli.Làm thế nào để chạy grunt 0.4. * Mà không có grunt-cli

Tôi hiểu rằng grunt-cli tìm phiên bản grunt được cài đặt trong nút-mô-đun trong thư mục dự án của tôi để chạy phiên bản grunt đó nhưng ... có thể chạy grunt mà không cần cài đặt grunt-cli không? Làm sao?

Cảm ơn trước!

+1

Câu hỏi thực sự ở đây là, tại sao bạn muốn làm điều đó? –

+1

Xin chào! Cảm ơn vì câu hỏi. Tôi nghĩ về hai trường hợp: Một là chạy grunt từ một kịch bản tự động và thứ hai là có toàn bộ hệ thống kiểm tra trong kho, để dễ cài đặt. Một trường hợp khác có thể không có quyền quản trị để cài đặt gói trên toàn cầu. – cromandini

Trả lời

15

thử

node -e "require('grunt').cli();" 

nếu bạn đang ở trên một mac/unix

25

GRunt-cli là một số lượng rất nhỏ mã. Nếu tôi là bạn tôi sẽ xem xét nó trong GitHub repository. Bằng cách đó bạn sẽ tìm hiểu những gì nó làm, và nó rất dễ dàng để làm như vậy.

Tôi đã có may mắn khi chạy nó không có tiếng lẩm bẩm. Bạn có thể làm điều đó với lệnh sau:

node -e "require('grunt').cli()" 

Nếu bạn muốn xác định nhiệm vụ, bạn có thể làm điều đó như thế này:

node -e "var g = require('grunt'); g.cli.tasks = ['default']; g.cli()" 
+0

Yeah !! Cảm ơn bạn Allan, mã của bạn đã không làm việc trên mac của tôi, nhưng đi vào REPL và chạy 'require ('grunt'). Cli();' làm việc trong dòng lệnh. Và đặt cùng một dòng mã trong một tập lệnh cũng đã hoạt động :) – cromandini

+0

Bạn sẽ nhắm mục tiêu một nhiệm vụ cụ thể với điều này như thế nào? ví dụ 'grunt default'? –

+0

@Nate đã cập nhật câu trả lời của tôi, nó đã được kiểm tra và hoạt động. –

0

Bạn có thể thử từ một số tập lệnh khác:

var grunt = require('grunt'); 
grunt.cli(); 

Điều đó sẽ tìm gói grunt và thực thi Gruntfile.js.

Các vấn đề liên quan