Nodejs無法使用全局模塊

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)環境變量后可正常運行。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • NodeJS發展 作者:Dyan Dahl 跟編程無關的紐約博士 退學 云通信 web性能專家 Google V8...
    changlinwang閱讀 301評論 0 0
  • 1、進入nodejs官方網站下載軟件(nodejs.org), 2、下載完成后,雙擊默認安裝。安裝程序會自動添加環...
    迪爺閱讀 885評論 0 1
  • 我想去追尋風兒的方向 穿越水泥高筑的樓墻和交織著電線的藍天 去到你曾去過的所有地方 去感受你的柔情與蜜意 我想知道...
    南無若樹閱讀 643評論 4 6
  • 小倉廣在《勇氣》中這樣說:這個世上沒有個性火爆的人,只有常常使用憤怒這種情感的人,不必徹底改變自己的性格,只要改變...
    群山回唱325閱讀 156評論 0 0