npm如何将模块安装到全局?

libraco
  • 760

npm -g install eventproxy表示用全局模式安装包,但是不代表你可以在任何地方require到这个包,在Linux下它其实把包安装到/usr/local/lib/node_modules下,然后通过软连接的方式把包中bin目录下的可执行文件链接到/usr/local/bin下面(和node一个目录)。

但是我希望能够在任何地方都能够require这个包。
我的做法是修改/etc/profile
在文件尾加上一行export NODEPATH="NODEPATH:/usr/local/lib/node_modules"
然后source /etc/profile

可这依然达不到我要的效果,请问应该怎么做才能把包安装到全局?

回复
阅读 19.5k
2 个回答

如果需要require全局包,可以先npm link到local。

npm的理念就是每个项目自己管理模块,避免各个项目的依赖搅在一起带来的麻烦。

如果你只是嫌每开一个项目要捣鼓依赖麻烦,那可以试下autod

无论你在哪个文件夹 执行 npm link xxx , 如果没有xxx模块, 那么xxx就会先安装在全局, 然后再从全局link过来

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏