2011-12-24 70 views
21
C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot>node bot.js 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error: Cannot find module 'mongoose' 
    at Function._resolveFilename (module.js:334:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:357:17) 
    at require (module.js:368:17) 
    at Object.<anonymous> (C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot\db.j 
s:1:78) 
    at Module._compile (module.js:432:26) 
    at Object..js (module.js:450:10) 
    at Module.load (module.js:351:31) 
    at Function._load (module.js:310:12) 
    at Module.require (module.js:357:17) 

Tôi đã cài đặt nó bằng cách cài đặt npm và tôi đã thử cài đặt lại nhưng điều đó không có ý tưởng gì?Lỗi Node.js Lỗi: Không thể tìm thấy mô-đun 'mongoose'

+0

vui lòng đánh dấu câu trả lời nếu nó đã giúp bạn. Chúc mừng –

+0

Tôi đã sử dụng pip để cài đặt mongoose. Nhưng tôi có cùng một vấn đề.Có ai chỉ cho tôi đi đúng hướng không? – aman

Trả lời

0

trong thư mục nhà ở bot.js, có thư mục node_modules có thư mục mongoose trong đó không? Máy chủ mongodb của bạn có đang chạy không?

Bạn cũng có thể kiểm tra nó bằng cách ở trong thư mục gốc của dự án, nút gọi (không có args, để mở REPL) và cố gắng yêu cầu mongoose ở đó.

+0

không có nhưng không có một thư mục node_modules với mongoose trong nó là nó ở vị trí sai? trên máy tính khác của tôi tại căn hộ của tôi làm việc tốt và tất cả cùng một execpt trên máy tính này của nó nhận được lỗi này –

+0

Nếu bạn chắc chắn nó chính xác như nhau, sau đó đảm bảo rằng mongodb được cài đặt đúng và chạy trên máy có vấn đề. – Paul

33

cố gắng cài đặt sử dụng lệnh này:

npm install mongoose 

không sử dụng công tắc -g.

BTW: Tôi chạy lời nhắc lệnh trong chế độ quản trị.

http://prazjain.wordpress.com/2012/04/24/node-js-error-error-cannot-find-module-xyz/

+0

Tại sao -g làm cho điều này không hoạt động? – rafaelcosman

+2

Từ [doc] (http: //blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation /): Nói chung, quy tắc chung là: Nếu bạn đang cài đặt thứ gì đó mà bạn muốn sử dụng trong chương trình của mình, sử dụng yêu cầu ('bất cứ điều gì'), sau đó cài đặt nó tại địa phương, tại gốc của dự án của bạn. Nếu bạn đang cài đặt thứ gì đó mà bạn muốn sử dụng trong trình bao, trên dòng lệnh hoặc thứ gì đó, hãy cài đặt nó trên toàn cầu để các tệp nhị phân của nó kết thúc trong biến môi trường PATH của bạn. –

2

Tôi có cùng một vấn đề trong máy Mac của tôi và đã làm một tìm kiếm trong ánh đèn sân khấu và thấy cầy mangut được cài đặt trong usr/local/node_modules/(khi tôi chạy 'NPM cài đặt cầy mangut'). Di chuyển thư mục mongoose đến ~ (home) node_modules trong đó npm được supposted để thực sự cài đặt cố định vấn đề của tôi.

+0

Yup - cùng ở đây. Tôi npm cài đặt nó vào người dùng/Tên trên hộp Windows của tôi và đã nhận được lỗi này. Khi tôi di chuyển node_modules lên một vài thư mục nó hoạt động tốt. – mattbryanswan

0

Bạn đang sử dụng hệ điều hành windows mà mongoose không hỗ trợ. Rõ ràng từ thông báo lỗi này:

C:\>npm install mongoose 
npm http GET https://registry.npmjs.org/mongoose/2.5.10 
npm http 304 https://registry.npmjs.org/mongoose/2.5.10 
npm http GET https://registry.npmjs.org/hooks/0.2.0 
npm http GET https://registry.npmjs.org/mongodb/0.9.9-4 
npm http 304 https://registry.npmjs.org/mongodb/0.9.9-4 
npm http 304 https://registry.npmjs.org/hooks/0.2.0 
npm WARN package.json [email protected] No README.md file found! 
npm ERR! notsup Unsupported 
npm ERR! notsup Not compatible with your operating system or architecture: mongo 
[email protected] 
npm ERR! notsup Valid OS: linux,darwin,freebsd 
npm ERR! notsup Valid Arch: any 
npm ERR! notsup Actual OS: win32 
npm ERR! notsup Actual Arch: x64 

npm ERR! System Windows_NT 6.1.7601 
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod 
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "mongoose" 
npm ERR! cwd C:\ 
npm ERR! node -v v0.8.18 
npm ERR! npm -v 1.2.2 
npm ERR! code EBADPLATFORM 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  C:\npm-debug.log 
npm ERR! not ok code 0 
0

trên cửa sổ nếu bạn làm

npm install mongoose 

nó sẽ cài đặt nó bằng cách mặc định trên C: \ Drive

và nếu bạn cố gắng để chạy một số * .js tệp từ nói D: \ drive

nó sẽ cho bạn lỗi tương tự.

vì vậy tôi đoán thư mục cài đặt và tệp * .js phải có cùng một thư mục gốc.

6

Bạn phải gọi trong dòng lệnh

npm install mongoose

nhớ để gọi lệnh này từ đường dẫn gốc của dự án của bạn

1

NPM cài đặt tạo ra "node_modules" trong pwd (hiện tại làm việc thư mục)

khi ứng dụng của bạn phát triển, số lượng mô-đun bắt buộc tăng lên và cách tiếp cận tốt hơn là duy trì package.json (tham chiếu e: https://stackoverflow.com/a/14226133/832147) và sau đó chỉ phát hành "npm install" thay vì cài đặt mỗi.

Là phần mở rộng khi triển khai ứng dụng của bạn trên các nền tảng như Heroku, bạn có thể bỏ qua (git ignore) thư mục node_modules lớn của dự án của bạn. Heroku cài đặt các mô-đun phụ thuộc của bạn bằng cách đọc gói của bạn.json

phương pháp này làm cho chúng ta tạo ra các module nút yêu cầu tương tự cho mỗi dự án nút dựa của chúng tôi nhưng nó không quan trọng như chúng ta cần phải ban hành "NPM cài đặt" lệnh chỉ một lần mỗi dự án

0

Từ doc/blog

In general, the rule of thumb is:

If you’re installing something that you want to use in your program, using require('whatever'), then install it locally, at the root of your project.

If you’re installing something that you want to use in your shell, on the command line or something, install it globally, so that its binaries end up in your PATH environment variable.

6

Cài đặt với các tùy chọn --save:

npm install mongoose --save 

này cho biết thêm một loại chồn nó để package.json mà Heroku sử dụng để xây dựng ứng dụng của bạn.

3
npm install mongoose 

nó sẽ làm việc và nếu mọi thứ đều ổn thì bạn sẽ nhận được sau trong terminal của bạn

[email protected] node_modules/mongoose 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] ([email protected], [email protected], [email protected]) 
└── [email protected] ([email protected], [email protected], [email protected]) 
1

Nếu bạn đã cài đặt mongoose toàn cầu (NPM cài đặt mongoose -g), sau đó làm

% npm link mongoose 

trong thư mục dự án. Điều này làm việc cho tôi.

6

Bạn có thể làm một trong hai điều cần làm cho nó chạy: -

1) Install mongoose toàn cầu với các bước dưới đây: -

a) npm install mongoose -g

b) Truy cập ứng dụng của bạn thư mục, nơi bot.js được đặt và sau đó chạy

npm link mongoose

Giải thích: - Khi bạn cài đặt một gói trên toàn cầu qua npm, nó sẽ được tải xuống thư mục node_module chung. Đối với tôi (người dùng Mac), nó dưới /usr/local/lib/node_modules/mongoose. Chúng tôi liên kết điều này với thư mục đó từ nơi bạn đang cố gắng chạy module.js.

2) cách tiếp cận khác là cài đặt mongoose tại địa phương, không toàn cầu qua

npm install mongoose

Sau khi làm theo một trong hai số này, bạn sẽ nhìn thấy node_modules -> Thư mục mongoose dưới 'bot.js 'thư mục, có nghĩa là mongoose đã được cài đặt thành công.

Bây giờ, chạy bot.js nút, nó sẽ hoạt động.

+0

Imho giải thích rõ ràng nhất, nó giúp tôi hiểu. +1! – pr0gma

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