npm install 安装选项 -d -s -g

在使用 npm install 时,-d-g-s 是不同的选项,它们分别代表不同的安装模式或行为。以下是它们的详细解释:

1. -d--save-dev

  • 含义 :将包安装为开发依赖(devDependencies)。

  • 使用场景:如果某个包仅在开发阶段使用,例如测试工具、构建工具或代码检查工具。

  • 效果 :会将安装的包记录在 package.jsondevDependencies 字段中。

  • 例子

    npm install some-package -d
    # 等价于
    npm install some-package --save-dev
    

2. -g--global

  • 含义:全局安装一个包。

  • 使用场景:通常用于安装命令行工具或全局可用的依赖。

  • 效果 :包会安装在全局环境中(例如 /usr/local/lib/node_modules 或 Windows 的全局目录),而不是当前项目的 node_modules

  • 例子

    npm install some-package -g
    # 等价于
    npm install some-package --global
    
  • 注意:全局安装的包可以直接通过命令行使用,但项目中的代码通常无法直接引用全局包。


3. -s--save

  • 含义 :将包安装为生产依赖(dependencies)。

  • 使用场景:如果某个包需要在生产环境中使用,例如运行时的库。

  • 效果 :会将安装的包记录在 package.jsondependencies 字段中。

  • 例子

    npm install some-package -s
    # 等价于
    npm install some-package --save
    
  • 注意 :从 npm 5.x 开始,--save 是默认行为,因此可以省略 -s 选项。

默认安装选项取决于所使用的 npm 版本:

默认行为

  • npm 5.x 开始:

    • 默认安装到 dependencies 中(等同于使用 --save-s)。

    • 也就是说,运行以下命令:

      npm install some-package
      

      会将 some-package 安装到 node_modules 中,并记录到 package.jsondependencies 字段。

  • npm 5.x 之前

    • 默认安装不会记录到 package.json 中。
    • 如果需要记录到 dependencies,必须显式使用 --save-s

总结

npm 版本 默认行为 是否记录到 package.json
npm 5.x 及以后 安装为 dependencies
npm 5.x 之前 安装但不记录到 package.json

如果你使用的是较新版本的 npm,无需显式使用 -s--save,直接运行 npm install 包名 即可满足生产环境依赖的需求。

参数 长选项 安装类型 存储位置
-d --save-dev 开发依赖 devDependencies
-g --global 全局安装 全局目录
-s --save 生产依赖(默认) dependencies

如果你不确定要用哪种方式安装,可以根据项目需求选择合适的选项。

相关推荐
明月看潮生13 分钟前
青少年编程与数学 02-006 前端开发框架VUE 04课题、组合式API
前端·javascript·vue.js·青少年编程·编程与数学
她和夏天一样热13 分钟前
【前端系列】Pinia状态管理库
前端·axios·pinia
小彭努力中23 分钟前
57.在 Vue 3 中使用 OpenLayers 点击选择 Feature 设置特定颜色
前端·javascript·vue.js·arcgis·openlayers
武昌库里写JAVA32 分钟前
Springboot 升级带来的Swagger异常
数据结构·vue.js·spring boot·算法·课程设计
JINGWHALE134 分钟前
设计模式 结构型 适配器模式(Adapter Pattern)与 常见技术框架应用 解析
前端·人工智能·后端·设计模式·性能优化·系统架构·适配器模式
DX_水位流量监测1 小时前
水库水雨情监测系统:水位、雨量、流量等参数全天候实时监测
大数据·开发语言·前端·网络·人工智能·信息可视化
autumn8681 小时前
为什么最好吧css的link标签放在head之间?
前端
这个一个非常哈1 小时前
CSS篇之炫酷框
前端·css
轩轩9902181 小时前
正则表达式在JSON里报错
前端·正则表达式·前端框架
晓Ming_1 小时前
SweetAlert2 - 漂亮可定制的 JavaScript 弹窗
前端·javascript