Ai đó có thể giải thích cách hoạt động của nút được cài đặt trên toàn cầu. Nó thực sự gây nhầm lẫn cho tôi. Nếu tôi cài đặt một gói (với thực thi) như http-server
toàn cầu tôi có thể chạy nó với:Chạy các gói được cài đặt trên toàn cầu npm
http-server
Nhưng nếu tôi làm
node http-server
tôi nhận được
module.js:339
throw err;
^
Error: Cannot find module '/path/to/current/dir/http-server'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Function.Module.runMain (module.js:457:10)
at startup (node.js:136:18)
at node.js:972:3
tôi nghi ngờ tern
của tôi gói trong emacs
đang cố gắng chạy nó với node
do đó vi phạm. Tại sao chuyện này đang xảy ra? Tại sao nút không thể tìm thấy đường dẫn đến mô-đun riêng của nó?
Nhưng tại sao không thể tôi chạy chúng với 'nút [package-name]'? Một số gói (gói emacs) cố gắng chạy các gói này với tiền tố 'nút' là phần khó hiểu – Arijoon
@Arijoon Có lẽ vì các gói đó mong muốn tìm thấy các gói phụ thuộc của chúng được cài đặt cục bộ. –
ok làm thế nào tôi có thể chắc chắn rằng họ tìm thấy phụ thuộc của họ trên toàn cầu? Vì nếu tôi thậm chí cài đặt cùng một gói cục bộ, nó vẫn không chạy với 'node [package-name]' – Arijoon