[英]node.js modules path
我意識到,當我進行node.js模塊的全局安裝(帶有-g標志)時,除非我編寫了整個路徑,否則節點無法使用該模塊。
我的意思是,如果模塊已全局安裝,這不起作用:
cheerio = require('cheerio'),
我必須寫下:
cheerio = require('/usr/lib/node_modules/cheerio'),
我怎么能對節點說它必須在正確的路徑中尋找模塊?
謝謝。
一般來說,我建議讓npm給你路徑並設置如上所述:
$ echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile
對於Windows平台上的用戶,在系統變量中將其添加到PATH中:
C:\Users\<username>\AppData\Roaming\npm
PS:在Windows 8.1上測試過
您可以將以下內容添加到〜/ .bash_profile:
export NODE_PATH=/usr/lib/node_modules:$NODE_PATH
對於安裝了ZSH的人:
echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.zshrc && . ~/.zshrc
更好的方法是在js文件中設置模塊路徑。
在我的情況下,我在/ usr / etc運行npm install mysql
,mysql將顯示在“/ usr / etc / node_modules”中,所以這是正確的路徑:
var mysql = require('/usr/etc/node_modules/mysql');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.