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

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

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

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

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

对生产环境的影响

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

相关推荐
仿生狮子3 小时前
OpenAI 攻下千禧年难题之后,开发者似乎无动于衷
前端·数学·vibecoding
Lvan的前端笔记7 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习7 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs194058 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风9 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn10 小时前
框架性能优化
前端
回眸&啤酒鸭11 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户693717500138411 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员12 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子12 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端