2013-02-25 26 views
13

Tôi đã tạo một mô-đun nút có tập lệnh xây dựng được gọi sau khi cài đặt. Kịch bản xây dựng nhân bản một kho lưu trữ git và sao chép một số tệp của nó vào một thư mục khác. Vấn đề: trên NPM cài đặt, kịch bản không nhận được đủ quyền và tôi nhận được lỗi sau:npm cài đặt - cách chạy tập lệnh xây dựng với đủ quyền?

sh: ./build.js: Permission denied

Làm thế nào tôi có thể cung cấp cho xây dựng kịch bản đủ quyền để làm công việc của mình?

Tôi muốn người dùng chỉ có thể thực hiện npm install mymodule và tập lệnh xây dựng sau đó thực hiện công việc của mình trên bất kỳ hệ thống nào.

Bất kỳ ý tưởng nào?

Trả lời

28

Bạn có cờ x trên build.js không?

chmod +x build.js 

Và dòng đầu tiên của kịch bản của bạn nên nói như thế nào để thực thi kịch bản từ vỏ:

#!/usr/bin/env node 
+1

Aaah! Từ tài liệu npm, tôi nghĩ rằng các tập lệnh có đuôi ".js" tự động được thực hiện bởi nút. Nhưng kể từ khi họ cũng chỉ nhận được gọi là kịch bản và do đó cần sự cho phép để có được thực hiện, điều này là hiển nhiên. Cảm ơn. Thay vì 2 bổ sung mà bạn đã đề cập, tôi cũng có thể chỉ cần viết "install": "node build" trong package.json. –

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