2013-08-08 31 views
12

i am newbie to nodejs. Để kết nối mysql, tôi đã cài đặt mysql trên nút bằng cách sử dụng lệnh,Không thể tìm thấy mô-đun `mysql` node.js

npm install mysql 

Tôi không gặp lỗi trong khi cài đặt. Sau đó, tôi đã thử thực thi đoạn mã sau,

var mysql = require("mysql"); 

Nhưng nó hiển thị lỗi sau trong khi im cố gắng thực hiện điều đó.

C:\node\mysql>node app.js 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'mysql' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (C:\node\mysql\app.js:1:75) 
    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) 

tôi đã cố gắng một số gợi ý như cài đặt mysql trên toàn cầu sử dụng,

npm install -g mysql 

Nhưng không có gì làm việc. Giúp xin vui lòng !!!

Xin lưu ý môi trường làm việc của tôi,

OS: Windows7 Node phiên bản: 0.10.15 NPM phiên bản: 1.3.5

+0

Bạn có đang chạy tập lệnh của mình từ cùng thư mục mà bạn đã chạy 'npm install mysql' không? –

+0

Ngoài ra, sử dụng 'npm install -g' là cài đặt chung. –

+0

@MorganARRAllen Cảm ơn. sửa chữa. :) – Stranger

Trả lời

11

Tôi chỉ chạy vào cùng một vấn đề và thấy đó là vì các mô-đun đã được cài đặt trong:

./node_modules/node-mysql/node_modules/

Vì vậy, tôi chỉ di chuyển chúng tất cả:

mv ./node_modules/node-mysql/node_modules/* ./node_modules/

+0

Tôi đã cài đặt nó nhiều lần bằng cách sử dụng npm install -g mysql nhưng tôi nhận:/usr/local/lib/node_modules/mysql # ls node_modules bignumber.js dòng có thể đọc được yêu cầu tất cả, tôi không tìm thấy nút-mysql , xin vui lòng tư vấn về con đường để làm ở trên, bởi vì nó không hoạt động – moderns

3

Dường như bạn có thể nhầm lẫn về cách npm install công trình.

npm install -g mysql sẽ cài đặt trên toàn cầu không cục bộ như bạn đề xuất.

npm install mysql sẽ cài đặt cục bộ, đặt mô-đun vào ./node_modules/mysql. Điều này có nghĩa là tập lệnh bạn đang chạy cần được chạy từ cùng một thư mục có chứa node_modules.

+2

Tôi đã thử cả hai. Nhưng không có gì hoạt động .. – Stranger

+0

Nó không hoạt động với tôi! – moderns

2

tôi có cùng một vấn đề (được cấp cho tôi trên Windows 8). Tôi đã thử npm install mysqlnpm install -g mysql và không hoạt động.

Đã tắt Tôi cần mở ứng dụng 'Node.js Command Prompt' thay vì ứng dụng nhắc lệnh thông thường. Mọi thứ đều hiệu quả.

Tôi không biết lời nhắc lệnh của họ làm gì dưới mui xe nhưng tôi cho rằng nó có liên quan đến các biến môi trường và đường dẫn. Bạn có thể muốn thử.

5

Bạn có thể sửa lỗi này với

ln -s /usr/local/lib/node_modules /YOURPROJECTFOLDER/node_modules 
+0

cho tôi, điều này thực sự vượt qua lỗi "Không thể tìm thấy mô-đun 'mysql'" – Parasu

6

My node được cài đặt trong C:\some-dir\nodejs-0.10.35\

Đầu tiên hướng đến cùng một thư mục node cài đặt: cd C:\some-dir\nodejs-0.10.35

Sau đó npm install mysql

tôi đặt các ứng dụng của tôi trong cùng thư mục: C:\some-dir\nodejs-0.10.35\applications\demo.js

Nó hoạt động.

0

hướng đến thư mục /node_modules đó là bên trong thư mục chính, và cài đặt mysql bằng cách nhấn lệnh sau: sudo npm install mysql

này sẽ tạo ra một thư mục có tên mysql bên trong thư mục /node_modules.

Bây giờ hãy chạy ứng dụng của bạn bằng cách sử dụng lệnh node app.js bên trong thư mục chính. Nó sẽ làm việc và thiết lập kết nối với máy chủ mysal.

0

Giải pháp này từ coderz đã hoạt động tốt.

nút My đã được cài đặt trong C: \ số-dir \ nodejs-0.10.35 \

Đầu tiên hướng đến nút cùng thư mục cài đặt: cd C: \ số-dir \ nodejs-0.10.35

Sau đó NPM cài đặt mysql

tôi đặt các ứng dụng của tôi trong cùng thư mục: C: \ số-dir \ nodejs-0.10.35 \ ứng dụng \ demo.js

Cảm ơn bạn.

0

Tôi đã tìm thấy điều này xảy ra nếu bạn chạy NPM cài đặt mà không cần phải phụ thuộc quy định tại package.json của bạn ... tức là

... 
"author": "Author", 
"dependencies" : { 
    "mysql": "2.12.0",  
}, 
"license": "ISC" 
... 

Xác định dependecies .. sau đó chạy

npm install 
0

npm install mysql --save

Điều này sẽ cập nhật tệp package.json của bạn.

0

Bạn có thể phải cập nhật tệp package.json. Sử dụng lệnh sau

npm install mysql --save 
Các vấn đề liên quan