Node.js 連接 MySQL時,在代碼所在的目錄下本地安裝MySQL模塊可以正常運行:
本地安裝
$ npm install mysql
$ node mysql.js
--------------------------SELECT----------------------------
[ RowDataPacket { id: '1', name: 'chang' } ]
------------------------------------------------------------
想把MySQL模塊全局安裝,以后所有目錄的下的代碼都可以引用,不必在每一個代碼所在的目錄下本地安裝一次:
全局安裝
$ npm install -g mysql
刪除本地MySQL模塊,再次運行,報錯:
$ node mysql.js
module.js:471
throw err;
^
Error: Cannot find module 'mysql'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (D:\demo\mysql.js:1:75)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
查看npm config list
的prefix值prefix = "C:\\Users\\bili\\AppData\\Roaming\\npm"
,進入該目錄,查看確實已經有MySQL模塊,不知道為什么無效(可能是Nodejs本身的bug吧)。設置NODE_PATH(C:\Users\bili\AppData\Roaming\npm)環境變量后可正常運行。