使用node.js,如何跨模块管理npm?
例如,我有以下结构使用node.js,如何跨模块管理npm?,node.js,Node.js,例如,我有以下结构 main -- doTask1 -- task1-1.js -- task1-2.js -- doTask2 -- task2-1.js -- task2-2.js 如果在doTask1中运行npm install,则在doTask1中创建一个新目录node\u modules 现在在doTask2中,我需要使用相同的软件包,我是否需要在doTask2中再次运行npm install?它将在do
main
-- doTask1
-- task1-1.js
-- task1-2.js
-- doTask2
-- task2-1.js
-- task2-2.js
如果在doTask1
中运行npm install
,则在doTask1
中创建一个新目录node\u modules
现在在
doTask2
中,我需要使用相同的软件包,我是否需要在doTask2
中再次运行npm install
?它将在doTask2
中创建另一个重复的节点。管理此问题的正确方法是什么?对于没有相对路径引用的节点模块,NPM解决方案是首先检查当前目录,然后从当前目录向上遍历每个目录,查找节点模块文件夹
因此,在您的情况下,如果您想要相同软件包/模块的相同版本,只需在main中安装即可:
最后,您可以在全局范围内安装所需的软件包/模块,但是,通常只建议您从命令行的任何位置(例如gulp、webpack等)知道需要安装的软件包。在您的情况下,对于特定于应用程序的模块,最好将其本地安装在节点\u modules文件夹下
关于安装NPM包的一些有用的NPM文档:
- 请参阅“从节点\模块文件夹加载”
- 一篇稍旧但相关的博客文章
对于没有相对路径引用的节点模块,NPM解决方案是首先检查当前目录,然后从当前目录向上遍历每个目录,查找节点模块文件夹
因此,在您的情况下,如果您想要相同软件包/模块的相同版本,只需在main中安装即可:
最后,您可以在全局范围内安装所需的软件包/模块,但是,通常只建议您从命令行的任何位置(例如gulp、webpack等)知道需要安装的软件包。在您的情况下,对于特定于应用程序的模块,最好将其本地安装在节点\u modules文件夹下
关于安装NPM包的一些有用的NPM文档:
- 请参阅“从节点\模块文件夹加载”
- 一篇稍旧但相关的博客文章
您可以在全球范围内安装模块。不要按照Shomz的建议进行安装。我很确定有更好的解决办法。谢谢。我知道我可以在全球范围内安装,但我觉得有些不对劲,所以我要求确保。你可以在全球范围内安装模块。不要按照Shomz的建议去做。我很确定有更好的解决办法。谢谢。我知道我可以在全球范围内安装,但我觉得有点不对劲,所以我要求确认一下。感谢您以一种很好的格式提供的详细解释。很高兴知道它将向上遍历node_modules文件夹。@JoeHuang-没问题,谢谢您的回答。在回答的底部添加了一些有用文档的链接,如果感兴趣,可以提供更多详细信息。将文档链接更新到一个博客,该博客实际上更好地描述了该过程。感谢您以良好的格式提供的详细解释。很高兴知道它将向上遍历node_modules文件夹。@JoeHuang-没问题,谢谢您的回答。在答案的底部添加了一些有用文档的链接,如果感兴趣,可以提供更多详细信息。将文档链接更新到一个博客,实际上更好地描述了流程。