node.js模块path
我意识到,当我做了一个node.js模块的全局安装(使用-g标志),节点不能使用该模块,除非我写了整个path。
我的意思是,如果模块已经全局安装,这不起作用:
cheerio = require('cheerio'),
我必须这样写:
cheerio = require('/usr/lib/node_modules/cheerio'),
我怎么能说节点,它必须在正确的path寻找模块?
谢谢。
一般来说,我build议让npm给你的path和设置,如上所述:
$ echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile
您可以将以下内容添加到〜/ .bash_profile:
export NODE_PATH=/usr/lib/node_modules:$NODE_PATH
对于那些在Windows平台中添加这个到系统variables中的PATH:
C:\Users\<username>\AppData\Roaming\npm
PS:在Windows 8.1上testing
对于安装了ZSH的人员:
echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.zshrc && . ~/.zshrc