“npm install -s”是什么意思?

16

我正在NPM上安装一些包,有时候需要写-s和-g?它们是什么意思?

npm install -s socket.io
npm install -g xxxxxxx
3个回答

14

npm -g <package>会在您的计算机全局安装一个软件包。没有-g--global选项,该软件包将被安装在运行命令时所在的目录中。

npm -S <package> 使用大写的 -S--save 选项会安装该软件包并将其保存到您的package.json中的依赖项中,尽管我认为这现在是当前npm的默认行为。 如果您对向npm传递不同选项时发生的情况不熟悉,建议阅读文档


5
很遗憾,文档实际上没有说明 -s 的作用,所以这个答案很有帮助。 - Max

10

@gmmetheny回答了关于全局-g标志的问题,但是在npm v7.0.15中,-s似乎会使命令的输出被静音

换句话说,包括-s(或--silent)在您的npm install命令中意味着它将没有任何输出(只有一个换行符):

> npm install -s example-package1 example-package2


这对于在脚本中运行命令可能非常有用。
运行命令不使用-s标志会回显有关安装了什么的信息,例如:
> npm install example-package1 example-package2

npm WARN deprecated some-pkg@1.2.3: this library is no longer supported

added 160 packages, and audited 160 packages in 6s

14 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

你可以比较运行每个变量后创建的目录,并验证效果是否相同。
正如@Max所提到的,此选项在npm文档中没有提及(至少不在用户经过合理搜索后可能找到的任何显著位置)。

1

使用 "npm install -g" 命令可以将软件包全局安装到您的计算机上,这意味着其他用户也可以使用该软件包。如果不加 "-g" 或 "--global" 参数,则软件包将在当前工作目录中本地安装,并且只有您自己可以使用。

使用 "npm install -s" 命令可以安装软件包并将其添加到 package.json 文件中。"-s" 表示 "--save"。如果不加 "-s" 参数,则 npm 将安装软件包但不会将其添加到 package.json 中。


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