繁体   English   中英

使用npm在本地和全局安装软件包之间有什么区别?

[英]What is the difference between installing a package locally and globally using npm?

使用npm在本地和全局安装软件包之间有什么区别?

据我了解:

本地安装:npm install <package>

  1. 该软件包/模块将在您本地的node_modules文件夹中找到,并且仅可用于该项目。
  2. 使用代码中的require(“ package”)可以访问此程序包/模块。
  3. 无法在命令行界面中访问此程序包/模块。

全局安装:npm install <package> -g

  1. 该软件包/模块将在您的机器上的/ usr / local之类的节点上找到安装位置,并且可以在任何地方使用。
  2. 使用代码中的require(“ package”)无法访问此程序包/模块。
  3. 可以在命令行界面中访问此程序包/模块。

请告诉我。 如果我能误解这里的任何内容。 谢谢!

除了1分,您是正确的。

可以从命令行访问显示CLI实用程序的本地软件包。 较新版本的NPM在本地node_modules/创建此.bin/目录。
每当您尝试使用工具时(例如,以babel为例),如果从命令行使用它并将其安装在项目中,则npm会正确识别该软件包并为您运行CLI。

这是有关该主题的有用文章。

http://www.2ality.com/2016/01/locally-installed-npm-executables.html

全局模块主要是gulp,yoman或您在日常工作中使用的任何其他模块之类的工具。

本地模块是项目的依赖项。 您永远不应依赖项目中的全局模块。 在dev-dependency部分中,甚至gulp依赖也应该是本地依赖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM