2012-08-07 31 views
5

Tôi có một ứng dụng nút có tệp package.json tuyên bố các phụ thuộc của tôi.Node v0.8.5 REPL: Không thể tìm thấy mô-đun khi yêu cầu mô-đun cài đặt npm

Tôi đã chạy npm install để cài đặt các mã này vào thư mục node_modules địa phương và khi tôi chạy ứng dụng, mọi thứ đều hoạt động tuyệt vời.

Vấn đề là khi tôi cố gắng để cành ra một số chức năng mới bằng cách bắn lên REPL nút:

$ node   
> require('hubot'); 
Error: Cannot find module 'hubot' 

Trong REPL, nó dường như không biết phải nhìn vào bên trong node_modules. Đây có phải là hành vi mong đợi, hoặc là hubot lạ?

+1

bạn có đang chạy REPL của bạn từ thư mục phải không? Bạn cần phải chạy nó từ thư mục gốc của dự án của bạn (thư mục cha của 'node_modules'). – rdrey

+0

yep. cùng một thư mục như package.json & node_modules. – adamesque

+0

@adamesque Bạn đã bao giờ tìm ra lý do tại sao điều này xảy ra? Tôi thấy điều tương tự trên Node 5 và tôi chắc chắn đó chỉ là một sai lầm đơn giản mà tôi đang làm. – Joe

Trả lời

6

Bạn có thể thiết lập các biến env NODE_DEBUG để xem các đường dẫn đã bị buộc tội bởi nút:

export NODE_DEBUG=module 
> require('toto') 
Module._load REQUEST toto parent: repl 
looking for "toto" in ["/Users/laurent/repl/node_modules","/Users/laurent/node_modules","/Users/node_modules","/node_modules","/lusr/local/bin/node","/Users/laurent/.node_modules","/Users/laurent/.node_libraries","/usr/local/lib/node"] 
Các vấn đề liên quan