首页  >  问答  >  正文

node.js - npm如何将模块安装到全局?

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

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

阿神阿神2764 天前802

全部回复(2)我来回复

  • 阿神

    阿神2017-04-17 11:08:53

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

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

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

    回复
    0
  • 黄舟

    黄舟2017-04-17 11:08:53

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

    回复
    0
  • 取消回复