2012-10-18 30 views
7

Tôi đang cố thêm chức năng CLI vào proxy chặn gói npm của tôi. Tôi không thể tìm thấy bất kỳ tài liệu tốt nào để tôi về cơ bản đã sao chép và sửa đổi nội dung từ express.js.Không thể cài đặt npm install -g cho gói của tôi

Tôi nói thêm:

"bin": { 
    "intercept-proxy": "./bin/intercept-proxy" 
} 

... để tập package.json của tôi và tạo ra một /bin/intercept-proxy.js trong đó có các công cụ CLI.

Khi tôi chạy:

npm install -g intercept-proxy 

... mọi thứ hoạt động cho đến khi phần liên kết. Sau đó, nó thất bại, nói:

npm ERR! Error: ENOENT, chmod 'C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\bin\intercept-proxy 

... và nhật ký nói:

381 info linkStuff [email protected] 
382 verbose linkBins [email protected] 
383 verbose link bins [ { 'intercept-proxy': './bin/intercept-proxy' }, 
383 verbose link bins 'C:\\Users\\johan.obrink.24HRCOM\\AppData\\Roaming\\npm', 
383 verbose link bins true ] 
384 verbose linkMans [email protected] 
385 verbose rebuildBundles [email protected] 
386 verbose rebuildBundles [ 'commander', 'mkdirp', 'underscore' ] 
387 info C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy unbuild 
388 verbose from cache C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\package.json 
389 info preuninstall [email protected] 
390 info uninstall [email protected] 
391 verbose true,C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules,C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules unbuild [email protected] 
392 verbose C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm,[object Object] binRoot 
393 info postuninstall [email protected] 
394 error Error: ENOENT, chmod 'C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\bin\intercept-proxy' 
395 error If you need help, you may report this log at: 
395 error  <http://github.com/isaacs/npm/issues> 
395 error or email it to: 
395 error  <[email protected]> 
396 error System Windows_NT 6.1.7601 
397 error command "c:\\Program Files\\nodejs\\node.exe" "c:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "intercept-proxy" 
398 error cwd c:\src 
399 error node -v v0.8.9 
400 error npm -v 1.1.61 
401 error path C:\Users\johan.obrink.24HRCOM\AppData\Roaming\npm\node_modules\intercept-proxy\bin\intercept-proxy 
402 error code ENOENT 
403 error errno 34 
404 verbose exit [ 34, true ] 

Tôi đã cố gắng googling ENOENT, chown + Windows nhưng dường như không nhận được bất kỳ xa hơn.

Mã đầy đủ là tại https://github.com/JohanObrink/intercept-proxy

Edit: bây giờ tôi đã thử nó trên OS X và vấn đề là như nhau. Không phải cửa sổ liên quan - chỉ có tôi-là-a-n00b liên quan rõ ràng. Vẫn không thể tìm thấy những gì sai mặc dù.

Trả lời

12

ENOENT có nghĩa là không có tệp hoặc thư mục như vậy. Điều gì sẽ xảy ra nếu bạn thay đổi điều này?

"bin": { 
    "intercept-proxy": "./bin/intercept-proxy.js" 
} 
+0

Cảm ơn bạn! Điều đó là vậy đó. Bạn có cơ hội nào biết lý do tại sao thể hiện được đi mà không có .js và tôi không? –

+1

Và NGAY BÂY GIỜ tôi thấy rằng express.js thực sự đặt tên cho tệp bin của nó là nhanh - không có .js. Đó là lý do tại sao nó hoạt động:/ –

+0

Lars, bạn muốn sử dụng 'chính', không phải 'bin'. ví dụ "main": "./bin/yomama" (không có JS) – deepelement

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