2015-06-01 21 views
9

Tôi đang cố gắng thiết lập yo để sử dụng trình tạo góc cho một dự án. Tôi đang thực hiện theo các bước được hủy tại đây: http://yeoman.io/learning/index.htmlQuyền bị từ chối khi cài đặt Yo

Tôi đã cài đặt Node.js và NPM.

Nhưng khi tôi sử dụng lệnh:

sudo npm install -g yo bower grunt-cli 

Nó thất bại và tôi nhận được lỗi này:

> [email protected] postinstall /usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync 
> node postinstall 


fs.js:439 
    return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode); 
       ^
Error: EACCES, permission denied '/usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync/package.json' 
    at Object.fs.openSync (fs.js:439:18) 
    at Object.fs.writeFileSync (fs.js:978:15) 
    at Object.<anonymous> (/usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync/postinstall.js:20:6) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:935:3 
npm ERR! Linux 3.13.0-24-generic 
npm ERR! argv "node" "/usr/bin/npm" "install" "-g" "yo" 
npm ERR! node v0.10.37 
npm ERR! npm v2.11.0 
npm ERR! code ELIFECYCLE 

npm ERR! [email protected] postinstall: `node postinstall` 
npm ERR! Exit status 8 
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'node postinstall'. 
npm ERR! This is most likely a problem with the spawn-sync package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node postinstall 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls spawn-sync 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/vincent/npm-debug.log 

Tôi cố gắng để sử dụng chmod 777 on /usr/lib/node_modules nhưng nó dường như không làm việc tốt hơn.

Tôi có thể cài đặt Bower và Grunt, nó làm việc, nhưng khi tôi cố gắng để cài đặt Yo, nó thất bại mọi ...

Tôi không có ý tưởng gì để làm như tất cả mọi thứ tôi đã cố gắng sử dụng chmod hoặc chown không công việc.

Cảm ơn các bạn đã giúp đỡ! :)

Trả lời

15

tôi làm việc xung quanh vấn đề này bằng cách sử dụng:

sudo npm install -g yo --unsafe-perm

Sử dụng --unsafe-perm đề xuất bởi nyakto trong bug report này.

Chỉnh sửa - nhận ra rằng đây là URL được đăng bởi @Stephan trong câu trả lời của anh ấy.

Tôi không biết chi tiết cụ thể về --unsafe-perm - Tôi chỉ có thể nói rằng nó cho phép tôi cài đặt yo mà không gặp lỗi mà tôi gặp phải rất giống/giống với OP.

+0

Cảm ơn rất nhiều! Nó làm việc hoàn hảo :) –

+0

Từ những gì tôi hiểu bằng cách sử dụng sudo đây không phải là một ý tưởng hay, xem [câu trả lời này] (http://stackoverflow.com/a/24404451/967168) để có một giải pháp tốt hơn –

0

Tôi gặp vấn đề tương tự. Rõ ràng là một con ong chung với yeoman. làm như sau giải quyết vấn đề của tôi thử xóa tất cả các tệp trong thư mục /Users/yourusername/.config/configstore/ và sau đó chạy lệnh yo như bình thường.

+0

Cảm ơn bạn đã trả lời nhưng tôi không thể tìm thấy con đường này. Tôi đang trên Linux, không phải là một con đường Windows mà bạn đang cho tôi? –

+0

ồ vâng đây là một đường dẫn cửa sổ. nếu bạn đang sử dụng Linux env. tìm tên thư mục **. config ** trong thư mục chính của bạn. nó được ẩn để nhấn ctrl + H để hiển thị các thư mục. bạn nên tìm một thư mục có tên ** configstore ** bên trong đó. làm sạch thư mục và thử runnning 'yo' một lần nữa – Malik

+0

Tôi đã thử nhưng tôi vẫn nhận được lỗi tương tự.Bên trong thư mục ** configstore **, có 3 tệp nhưng tất cả liên quan đến Bower mà tôi đã cài đặt thành công. Vì vậy, tôi đoán rằng việc xóa những tập tin đó không làm bất cứ điều gì về việc cài đặt Yo. –

0

Tôi cũng gặp vấn đề tương tự, dưới linuxmint 17. Nguyên nhân tôi sử dụng nút js 0.10 và tôi nâng cấp npm lên 2.X.

Cố gắng cài đặt lại nodejs và chọn đúng phiên bản https://github.com/nodesource/distributions

Chúc may mắn!

8

Nhận xét trong repo github đã khắc phục được sự cố của tôi. Về cơ bản chỉ cần cập nhật phiên bản nút. Bảng liệt kê ra các bước để tham khảo trong tương lai:

sudo npm cache clean -f 
sudo npm install -g n 
sudo n stable 
node -v 

Cheers

+1

Bạn là người đàn ông! –

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