2012-09-21 46 views
17

Trên máy macbook của tôi, tôi chỉ có thể cài đặt gói npm trên toàn cầu bằng sudo nhưng bất cứ khi nào tôi vào thư mục cục bộ và thử cài đặt gói địa phương mà không có -g .npm sẽ không cài đặt từ package.json trong dự án

npm ERR! Error: EACCES, open '/Users/mmarze/.npm/53951495-coffee-script.lock' 
npm ERR! { [Error: EACCES, open '/Users/mmarze/.npm/53951495-coffee-script.lock'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/Users/mmarze/.npm/53951495-coffee-script.lock' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.1.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "coffee-script" 
npm ERR! cwd /Users/mmarze/sandbox/node.js/test 
npm ERR! node -v v0.8.9 
npm ERR! npm -v 1.1.61 
npm ERR! path /Users/mmarze/.npm/53951495-coffee-script.lock 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, open '/Users/mmarze/.npm/53951495-coffee-script.lock' 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Users/mmarze/sandbox/node.js/test/npm-debug.log 
npm ERR! not ok code 0 

tôi đã cố gắng gỡ bỏ cài đặt và cài đặt lại nút và NPM và tôi không thể có được nó để cài đặt bất cứ điều gì ở địa phương, và nếu tôi sử dụng sudo để cài đặt tại địa phương sau đó người dùng cục bộ của tôi không có quyền ghi vào họ. Làm thế nào tôi có thể sửa lỗi này?

+1

Ai là chủ sở hữu của /Users/mmarze/.npm? Bất kỳ điều gì thú vị trong /Users/mmarze/sandbox/node.js/test/npm-debug.log? –

+2

Có vẻ như bạn có thể đã thực hiện 'sudo npm install ...' mà không có '-g', tức là các gói npm đã cài đặt trong nhà của bạn là người dùng root. Hãy xóa thư mục '.npm' hoặc' chown -R mmarze.mmarze ~/.npm' để sửa nó. –

+0

Cảm ơn, điều đó dường như đã thực hiện thủ thuật! – Mmarzex

Trả lời

28

Dựa trên những nhận xét từ Linus G Thiel nó trông như thế này sửa chữa vấn đề:

Hình như bạn có thể đã thực hiện một sudo npm install ... mà không -g, ví dụ: gói NPM cài đặt trong nhà của bạn như là người dùng root. Xóa rõ ràng thư mục .npm hoặc chown -R mmarze.mmarze ~/.npm của bạn nên khắc phục.

+0

Nó cũng xuất hiện khi điều đầu tiên bạn cài đặt bằng npm được thực hiện với sudo. – Akrikos

+0

Chỉ cần lưu ý, trên OSX, bạn cần sử dụng dấu ":" (dấu hai chấm) thay vì dấu chấm giữa người dùng và nhóm. – donleche

+0

Lưu ý rằng bạn cũng có thể phải sửa các quyền cho các mô-đun đã được cài đặt trong dự án của bạn: 'chown -R mmarze: mmarze./Node_modules' –

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