节点js不能要求在OS X中全局安装模块

时间:2015-06-22 07:22:25

标签: node.js macos npm

我通过

安装了模块
sudo npm install -g xxx
OS X中的

,并且命令回显了安装的模块 /usr/local/lib/node_modules/xxx

但是require('xxx')仍然没有声称'找不到模块'xxx'。仅通过

再次在本地安装模块
sudo npm install xxx 

可以修复错误。

我的OSX中是否需要配置任何内容?

2 个答案:

答案 0 :(得分:2)

将其放入您的一个启动文件中(最有可能是~/.bash_profile):

export NODE_PATH=/usr/local/lib/node_modules:$NODE_PATH

启动一个新shell,然后重试。

答案 1 :(得分:0)

我认为如果在全球范围内你需要绝对路径:

var xxx = require("/usr/local/lib/node_modules/xxx");

  

如果要将本地相对Javascript模块加载到Node.js中   应用程序,您可以简单地结合使用require()方法   使用相对(或绝对)文件路径:

var moduleA = require( "./module-a.js" );
var moduleB = require( "../../module-b.js" );
var moduleC = require( "/my-library/module-c.js" );

来自http://www.bennadel.com/blog/2169-where-does-node-js-and-require-look-for-modules.htm