2014-12-28 28 views
6

Nếu có một số vấn đề khi sử dụng npm trên mâm xôi pi của tôi khi cố gắng tạo ứng dụng node.js trên thiết bị USB.npm ERR! Lỗi: EPERM, chmod

package.json trông như thế này:

{ 
    "name" : "node-todo", 
    "version" : "1.0.0", 
    "description" : "TodoApp", 
    "main" : "server.js", 
    "autho" : "Stephan", 
    "dependencies" : { 
    "express" : "*" 
    } 
} 

Sử dụng NPM cài đặt kết quả trong:

npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] No README data 
npm http GET https://registry.npmjs.org/express 
npm http 304 https://registry.npmjs.org/express 
npm ERR! Error: EPERM, chmod '/media/ServerHD/testraum/test/node_modules/express/package.json' 
npm ERR! { [Error: EPERM, chmod '/media/ServerHD/testraum/test/node_modules/express/package.json'] 
npm ERR! errno: 50, 
npm ERR! code: 'EPERM', 
npm ERR! path: '/media/ServerHD/testraum/test/node_modules/express/package.json', 
npm ERR! fstream_finish_call: 'chmod', 
npm ERR! fstream_type: 'File', 
npm ERR! fstream_path: '/media/ServerHD/testraum/test/node_modules/express/package.json', 
npm ERR! fstream_class: 'FileWriter', 
npm ERR! fstream_stack: 
npm ERR! [ '/opt/node/lib/node_modules/npm/node_modules/fstream/lib/writer.js:305:19', 
npm ERR!  'Object.oncomplete (fs.js:107:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Linux 3.12.28+ 
npm ERR! command "/opt/node/bin/node" "/opt/node/bin/npm" "install" "-no-bin-links" 
npm ERR! cwd /media/ServerHD/testraum/test 
npm ERR! node -v v0.10.28 
npm ERR! npm -v 1.4.9 
npm ERR! path /media/ServerHD/testraum/test/node_modules/express/package.json 
npm ERR! fstream_path /media/ServerHD/testraum/test/node_modules/express/package.json 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! fstream_finish_call chmod 
npm ERR! code EPERM 
npm ERR! errno 50 
npm ERR! stack Error: EPERM, chmod '/media/ServerHD/testraum/test/node_modules/express/package.json' 
npm ERR! fstream_stack /opt/node/lib/node_modules/npm/node_modules/fstream/lib/writer.js:305:19 
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15) 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /media/ServerHD/testraum/test/npm-debug.log 
npm ERR! not ok code 0 

Nếu tôi cố gắng chạy NPM cài đặt trong/home/myuser/Appfolder tất cả mọi thứ hoạt động tốt. Tất cả các tệp trên ServerHD được tạo bởi cùng một người dùng mà thư mục chính thuộc về. tôi đã cố gắng sử dụng:

  1. NPM cài đặt -no-bin-liên kết mà kết quả trong các vấn đề tương tự
  2. cố gắng để thay đổi thư mục trên ServerHD đến 777 đã không có tác dụng cho NPM
  3. cố gắng chạy NPM cài đặt với sudo

Sử dụng trình tạo tốc độ cao gây ra các sự cố mô phỏng.

Hy vọng ai đó có thể trợ giúp. Cảm ơn cho đến nay.

+0

Loại phân vùng nào nằm trong ServerHD? NTFS/FAT32? – Salem

+0

Đó là phân vùng Fat32, cũng được sử dụng qua Samba. – Stephan

Trả lời

2

npm cho bạn biết rằng bạn thiếu quyền sửa đổi quyền đối với tệp bị ảnh hưởng. Đây có lẽ là một điều kiện chủng tộc, một số trong số đó đã được sửa trong mã số [email protected]. Tôi sẽ đoán rằng lý do bạn nhìn thấy nó trên một đĩa và không phải là khác là các đĩa có độ trễ khác nhau và đọc thời gian truy cập, gây ra hành vi không tái sản xuất.

Bạn nên nâng cấp lên phiên bản hiện tại npm (và nút, cho vấn đề đó). Nếu bạn đang sử dụng một bản phân phối Debian-based, bạn có thể làm theo hướng dẫn tại đây < https://github.com/nodesource/distributions#usage-instructions>

curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs nodejs-legacy sudo npm -g install [email protected]

Nếu không khắc phục vấn đề của bạn, xin vui lòng cho tôi biết; để có phản hồi nhanh hơn, hãy tạo sự cố trên trình theo dõi npmhttps://github.com/npm/npm/issues và gắn thẻ tôi (@smikes) trong sự cố.

+0

Tôi sử dụng nút/npm trên thiết bị cánh tay, vì vậy tôi nghĩ phiên bản tôi sử dụng là phiên bản mới nhất cho kiến ​​trúc này. – Stephan

+0

Nodesource cung cấp một phiên bản 'armhf' - ARMv7 và lên .. vì vậy tôi nghĩ rằng bạn không thể sử dụng nó trên một pi mâm xôi. Sau đó, hãy cập nhật 'npm' của bạn, vì tôi không biết đủ về các phiên bản kiến ​​trúc khác nhau của tệp nhị phân' nút'. (npm là js-only) –

6

Tôi có lỗi tương tự và gọi điện thoại:

NPM bộ nhớ cache sạch

Giúp tôi giải quyết nó.

0

sao chép gruntfile và package.json vào máy cục bộ. Làm npm cài đặt ở đây. Di chuyển node_modules kết quả sang thiết bị usb. Làm việc cho tôi. Cách dễ nhất, tôi nghĩ vậy.

+0

Điều này là nguy hiểm vì một số mô-đun nút được xây dựng cho hệ điều hành cụ thể đó - nếu bạn đang đi giữa o/s thì rất có thể sẽ là probs tại một số điểm. –

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