nodejs require模塊找不到怎么解決?


用npm全局安裝模塊后,有時在程序使用的時候require會報找不到模塊,要如何解決?nodejs是在module.paths包含的目錄列表中尋找模塊的,所以,要解決這個問題就是將全局模塊加入到module.paths目錄列表中。

 

全局安裝模塊后在程序里面require這個模塊報錯,模塊找不到。如下圖所示,首先按照正常的方式npm install -g express全局安裝express模塊。然后在測試require('express')報錯

那么問題就出在nodejs怎么查找模塊上。首先,我們要知道npm全局安裝到底把模塊安裝到了哪個目錄下面。在終端運行npm prefix -g命令會打印出安裝路徑。而nodejs查找模塊是在module.paths目錄列表下面查找的。

 

 

所以,一種解決方案是在程序中將npm全局安裝路徑添加到module.paths中。

module.paths.push('全局安裝路徑')。然后再測試可行。

這種方案只對當前js有效。

 

另一種是添加環境變量NODE_PATH,值就設置成全局安裝路徑。如圖中所示,添加后測試可行。

 

 

 

其實,添加環境變量NODE_PATH后,我們再去查看module.paths時會發現環境變量中的路徑也已經在module.paths中了。

所以,最方便的解決辦法就是:npm prefix -g 找到全局安裝的路徑,然后添加到環境變量NODE_PATH中。

 

 

 

 

來自:https://m.html.cn/qa/node-js/10597.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM