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

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

相关推荐
y***548811 分钟前
React依赖
前端·react.js·前端框架
2***B44912 分钟前
React测试
前端·react.js·前端框架
5***o50019 分钟前
React自动化测试
前端·react.js·前端框架
T***u33320 分钟前
React部署
前端·react.js·前端框架
Jing_Rainbow24 分钟前
【AI-7 全栈-2 /Lesson16(2025-11-01)】构建一个基于 AIGC 的 Logo 生成 Bot:从前端到后端的完整技术指南 🎨
前端·人工智能·后端
神秘的猪头33 分钟前
🧱 深入理解栈(Stack):原理、实现与实战应用
前端·javascript·面试
用户29654127591733 分钟前
JSAPIThree UI 控件学习笔记:用内置控件提升交互
前端
明教教主张5G34 分钟前
Vue响应式原理(13)-ref实现原理解析
前端·vue.js
StockPP40 分钟前
印度尼西亚股票多时间框架K线数据可视化页面
前端·javascript·后端
kungggyoyoyo1 小时前
TRAE中国版SOLO模式上线!我用它从0到1开发了一款AI小说编辑器
前端·vue.js·trae