nodejs:npm i与npm i -S、npm i -D区别

npm i(或 npm install)

pnpm中如果pnpm add安装不了,可以试试使用pnpm i

这是最基础的安装命令,用于安装项目的依赖项。

若在项目根目录下运行,且没有指定具体的包名,则会安装package.json文件中列出的所有依赖项(包括dependencies和devDependencies)。

如果指定了包名,如 npm i lodash,则会把这个包安装到当前项目的node_modules目录下,并且如果当前目录存在package.json文件,且没有显式指定-D或-S,默认当作生产环境依赖(除非包已经被明确定义在devDependencies中)。

npm i -S 或 npm install --save

-S 或**--save** 标志告诉npm将安装的包作为一个生产环境依赖(production dependency)。

运行 npm i -S packageName 时,npm不仅会安装包,还会自动将包及其版本号添加到package.json文件的dependencies对象中,这样当其他人克隆项目并运行npm install时,这些生产环境依赖会自动安装。

npm i -D 或 npm install --save-dev

-D 或**--save-dev** 标志告诉npm将安装的包作为一个开发环境依赖(development dependency)。

运行 npm i -D packageName 时,npm同样会安装包,但它会将包及其版本号添加到package.json文件的devDependencies对象中,而不是dependencies。

总结来说,-S****用于标记生产环境必不可少的依赖-D用于标记仅在开发环境中需要的依赖 ,如构建工具、测试框架等。在生产部署时,通常只会安装dependencies中的包,而不安装devDependencies中的包。

相关推荐
智算菩萨1 分钟前
基于spaCy的英文自然语言处理系统:低频词提取与高级文本分析
前端·javascript·easyui
刘一说12 分钟前
Vue单页应用(SPA)开发全解析:从原理到最佳实践
前端·javascript·vue.js
疯狂成瘾者13 分钟前
前端vue核心知识点
前端·javascript·vue.js
Laravel技术社区1 小时前
用PHP8实现斗地主游戏,实现三带一,三带二,四带二,顺子,王炸功能(第二集)
前端·游戏·php
m0_738120722 小时前
应急响应——知攻善防Web-3靶机详细教程
服务器·前端·网络·安全·web安全·php
程序员爱钓鱼9 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder9 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL10 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码10 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_10 小时前
列表渲染(v-for)
前端·javascript·vue.js