1

我正在研究一个使用 CLI 的节点包,并试图通过添加一些功能来扩展它。我已经从 github 克隆了 repo,但我也通过 npm 安装了它。

如何使用我的本地版本,而不是通过 npm 安装的版本?

谢谢!

4

1 回答 1

2

当你使用 npm 安装一个包时,它只是把它放到你运行它的文件夹中的 node_modules 文件夹中(或者如果你传递 -g ,放到一个全局的 node_modules 文件夹中)。

require() 使用特定的搜索顺序来查找模块。要加载特定版本的模块,您可以采用两条路径:

  1. 指定模块的相对路径:require("./path/to/myfork/of/module")
  2. 将 npm 安装的模块版本删除到 mode_modules 并将你的 fork 放在那里
  3. 确保该模块的分支位于“更接近”的 node_modules 文件夹中。Node 在与调用 require() 的文件相同的文件夹中搜索 node_modules,然后沿着文件夹层次结构向上查找模块。

有关更多信息,请查看http://nodejs.org/docs/v0.4.11/api/modules.html

于 2011-10-26T02:41:17.867 回答