npm install --global --save --save-dev 的区别

本文最后更新于:星期五, 十一月 5日 2021, 6:32 晚上

npm install –global <XXX>

  • 效果等同于 npm install -g <XXX>
  • 全局安装模块
  • 不会将模块依赖记录在 dependencies 或 devDependencies 对象中
  • 运行 npm install 初始化项目时不会下载模块

例如我在任意目录下运行如下代码:

1
npm install --global cowsay

image

报错了,不要紧,这是指我的npm安装在默认目录,没有权限访问。我用管理员权限再运行一次,就好了:

image

安装好后,在整个电脑任意目录,我都可以使用这个模块,比如输入命令,得到返回信息如下:

1
cowsay 潘高的小站

image

npm install –save <XXX>

  • 效果等同于 npm install -S <XXX>
  • 在指定项目的 node_modules 下安装模块
  • 在 package.json 文件中的 dependencies 对象创建一个属性,用来记录添加的依赖
  • 运行 npm install 初始化项目时,会下载模块到项目的 node_modules 下
  • 运行 npm install –production 会自动下载模块到项目的 node_modules 下

例如我在test1目录下运行如下代码:

1
2
3
cd test1

npm install --save cowsay

得到的效果如下所示:

image

npm install –save-dev <XXX>

  • 效果等同于 npm install -D <XXX>
  • 在指定项目的 node_modules 下安装模块
  • 在 package.json 文件中的 dependencies 对象创建一个属性,用来记录添加的依赖
  • 运行 npm install 初始化项目时,会下载模块到项目的 node_modules 下
  • 运行 npm install –production 不会自动下载模块到项目的 node_modules 下

例如我在test2目录下运行如下代码:

1
2
3
cd test2

npm install --save-dev cowsay

得到的效果如下所示:

image

npm install <XXX>

  • 在 npm 5.0 及其以后的版本中,效果与 npm install –save <XXX> 一模一样
  • 在 npm 5.0 以前的版本中,npm install <XXX> 会将模块下载到指定项目下,并且不会在 package.json 文件中记录依赖

例如我在test3目录下运行如下代码:

1
2
3
cd test3

npm install cowsay

得到的效果如下所示:

image

npm install 与 npm i 的区别

  • 用 npm i 安装的模块无法用 npm uninstall 删除,必须用 npm uninstall i 才卸载掉
  • npm i 会帮助检测与当前node版本最匹配的npm包版本号,并匹配出来相互依赖的npm包应该提升的版本号
  • 部分npm包在当前node版本下无法使用,必须使用建议版本
  • 安装报错时intall肯定会出现npm-debug.log 文件,npm i不一定

因此,建议使用 npm install 安装,而非 npm i 安装。


更多编程教学请关注公众号:潘高陪你学编程

image



本文标题:npm install --global --save --save-dev 的区别
文章作者:
发布时间:2021年10月28日 - 18:10:22
最后更新:2021年11月05日 - 18:32:07
原始链接:https://blog.pangao.vip/npminstall--global--save--save-dev%E7%9A%84%E5%8C%BA%E5%88%AB/
许可协议:署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

如果这篇文章对你有帮助,或者想给我微小的工作一点点资瓷,请随意打赏。
潘高 微信支付

微信支付

潘高 支付宝

支付宝