"npm install -g" 是什么意思?

27
我想在命令行中通过运行npm install -g less来从NPM安装Less。我查阅了安装命令的文档:
引用: 在全局模式下(即使用-g或--global附加到命令),它将当前软件包上下文(即当前工作目录)安装为全局软件包。
“全局软件包”是什么意思?
3个回答

31

您不需要全局安装Less。


本地安装意味着该模块仅适用于特定项目(在运行npm install时所在的目录),因为它安装到本地的node_modules文件夹中。

全局安装将把该模块放入全局包文件夹中(依赖于操作系统),并允许您从任何位置运行包含的可执行命令。请注意,默认情况下,您只能在代码中要求本地包。

有关全局和本地包的更多信息,请参见node.js文档

一般来说,除非它们提供您想要在任何地方使用的CLI命令,否则应将大多数模块安装在本地。


最后,我建议您全局安装Less,因为Less提供了一个可执行命令,在不同的项目中可能需要使用。 这也是Less文档推荐的做法


1
请注意,默认情况下,Node 不会解析全局安装的模块。如果您使用 npm install --global chalk 安装了 chalk 模块,则不能直接使用 require('chalk')。更多信息请参见:从全局文件夹加载 - Ninroot

15

来源:https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/

有两种安装npm包的方式:

全局方式 —— 这将模块放在{prefix} /lib/node_modules中,并将可执行文件放在{prefix} /bin中,其中{prefix}通常类似于/usr/local。如果提供了man页,则还会在{prefix} /share/man中进行安装。

本地方式 —— 这将包安装在当前工作目录中。Node模块放在./node_modules中,可执行文件放在./node_modules/.bin/中,不安装man页。


0

这意味着你安装的包将在整个Nodejs平台上可用/集成。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接