在Windows中的Home目录之外的节点require()

时间:2015-04-30 12:46:44

标签: node.js

我是Node新手并且正在Windows上使用它。

我发现在使用npm安装软件包之后,如果我在主目录中启动节点,我可以从REPL中请求它。当我导航到家外的另一个目录时,require()找不到包。

这非常令人困惑。我原以为安装一个包作为一个包可以在任何地方使用它,无论你的路径如何。我现在应该如何要求模块?

1 个答案:

答案 0 :(得分:1)

首先,当您执行npm install <package>时,会产生以下步骤:

  • npm搜索模块,它是npmjs上的deps
  • 将所有包下载到临时文件夹
  • 运行预安装,安装和安装后的脚本
  • 将包移至node_modules / of current dir

所以所有项目都需要在node_modules / dir中安装deps附近的代码。

某些软件包可以全局安装,但仅适用于CLI工具liek grunt。为此,您需要执行npm install -g <package name>