npm中-d -g 和默认安装的区别

npm 中 -d-g 的主要区别在于安装位置和用途

-d(即 --save-dev)用于将包安装为开发依赖,这些依赖会写入 package.jsondevDependencies 字段。它们只在开发阶段需要,例如构建工具 Webpack 或代码转换器 Babel。当使用 npm install --production 或设置 NODE_ENV=production 时,这些开发依赖不会被安装,从而确保生产环境不会包含不必要的依赖包。

-g 表示全局安装,包会被安装在系统目录而非项目本地。这种方式安装的包通常作为命令行工具全局使用,它们不会记录在项目的 package.json 中,因此对生产环境的依赖配置没有直接影响。

当你在项目目录下直接运行 npm install <package_name>(不添加 -d-g 选项)时,npm 会执行本地安装,并将该包作为‌生产依赖 ‌记录到 package.jsondependencies 字段中。这是 npm 5.0.0 版本及之后的默认行为。

对生产环境的影响

这种默认安装方式将包视为项目运行所必需的,因此会直接影响生产环境。当你执行 npm install --production 或在生产服务器上部署项目时,这些记录在 dependencies 中的包‌会被安装‌。这确保了生产环境拥有项目运行所需的所有依赖。

相关推荐
如果超人不会飞3 分钟前
TinyRobot SuggestionPopover智能建议弹出框组件
前端·vue.js
LiuJun2Son19 分钟前
Angular 快速入门:从零搭建你的第一个应用
前端·javascript·angular.js
小徐_233327 分钟前
Wot UI 2.1.0 发布:ConfigProvider 全局配置能力升级
前端·uni-app
方白羽27 分钟前
Vibe Coding 四个核心阶段
android·前端·app
奶油话梅糖28 分钟前
浏览器解析 HTML 头部的底层逻辑:从字节流到资源调度
前端·html
YHL28 分钟前
🚀从零理解树与二叉树 —— 概念、实现与遍历
前端·javascript·数据结构
小时前端30 分钟前
微前端技术选型深度分析:从概念到实践
前端
ZengLiangYi32 分钟前
测试策略:单元测试 + 集成测试怎么写
javascript·typescript·node.js
wyhwust44 分钟前
基于Apifox的接口管理工具
前端
柒和远方1 小时前
后端认证、鉴权、高并发:从 Session 到 JWT 再到 Redis
前端·后端·面试