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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/65736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【复刻】数字化转型是否赋能企业新质生产力发展?(2015-2023年)

参照赵国庆(2024)的做法,对来自产业经济评论《企业数字化转型是否赋能企业新质生产力发展——基于中国上市企业的微观证据》一文中的基准回归部分进行复刻基于2015-2023年中国A股上市公司数据,实证分析企业数字化转型对新质生产力…

Vue axios 异步请求,请求响应拦截器

在 Vue.js 中使用 axios 进行网络请求是非常常见的做法,因为它提供了比原生的 Fetch API 更丰富的功能,并且更易于处理错误和配置。结合 Axios 的拦截器功能,你可以对所有的请求或响应进行预处理,比如添加认证头信息、统一处理错误…

px、em、rem,vw区别介绍

在网页设计中,px、em、rem 和 vw 都是常用的 CSS 单位,它们各自有不同的用途和特性。下面是这些单位的详细介绍及其区别: 1. px(像素) 定义: px 是最常用的绝对单位,表示屏幕上的一个物理像素…

【数据仓库】hadoop3.3.6 安装配置

文章目录 概述下载解压安装伪分布式模式配置hdfs配置hadoop-env.shssh免密登录模式设置初始化HDFS启动hdfs配置yarn启动yarn 概述 该文档是基于hadoop3.2.2版本升级到hadoop3.3.6版本,所以有些配置,是可以不用做的,下面仅记录新增操作&#…

使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色

定义 ::selection 伪元素: 在你的 CSS 文件中,添加 ::selection 伪元素,并设置 background-color 属性来改变选中文本的背景颜色。 示例代码: ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…

【Kafka 消息队列深度解析与应用】

Kafka 消息队列深度解析与应用 一、Kafka 概述 (一)产生背景 Kafka 最初是由 LinkedIn 开发,旨在解决其内部海量数据的实时传输问题。在现代大数据环境下,企业需要处理海量的数据流入和流出,包括用户的行为数据、系…

【测试】接口测试

长期更新好文,建议关注收藏! 目录 接口规范接口测试用例设计postmanRequests封装接口自动化框架实例复习HTTP超文本传输协议 复习cookie+session 实现方式 1.工具 如postman ,JMeter(后者功能更全) 2.代码 python+requests / java+httpclient【高级】接口规范 传统接口 RE…

MATLAB关于集合的运算(部分)

集合运算比较两个集合中的元素,以找出共性或差异 i n t e r s e c t intersect intersect表示两组数据的交集 i s m e m b e r ismember ismember表示查找数据的集合成员 u n i o n union union表示两个数据集的并集 u n i q u e unique unique表示查找数据集的…

与你共度的烟火日常

见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看...... 我和她一起收拾完屋子,忙完已经中午了。她说:“咱们去趟超市吧&…

【每日学点鸿蒙知识】无障碍、getLastLocation、蓝牙问题、卡片大小、关系型数据库等

1、是否有类似无障碍辅助相关的API? 场景描述:锁机app,需要通过无障碍能力辅助检测当前正在打开的app,以及模拟用户操作, 关闭用户想要屏蔽的app 可参考:https://developer.huawei.com/consumer/cn/doc/h…

Postman[7] 内置动态参数及自定义的动态参数

postman 内置动态参数和自定义的动态参数 1.内置动态参数 格式:{{$参数名}} 1.1时间戳 {{$timestamp}} //生成当前时间的时间戳 1.2随机整数 {{$randomint}} //生成0-1000之间的随机数 1.3GUID字符串 {{$guid}} //生成随机GUID字符串 2.自定义动态参数 格式…

【C++】探索一维数组:从基础到深入剖析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯1. 什么是一维数组?一维数组的特点:示例 💯2. 一维数组的创建创建语法示例代码示例 1:创建整型数组示例 2:使用常…

为什么要用ZGC

一、为什么要用 ZGC 问题 我们有个“智慧园区”的项目,我们的下游系统“交叉带”[硬件系统]要求我们服务 60ms内返回结果,并且可用性要达到 99.99%。当时使用的是 G1垃圾回收器,单次 Young GC 40ms,一分钟10次,接口平均响应时间…

ffmpeg 编译+ libx264

编译 libx264 将 libx264 生成结果拷贝到 msys64 的 usr\local 目录下。这样在 msys2_shell 中就可以使用 /usr/local 来找到这个路径了。 编译不设置 prefix,默认将文件拷贝到 /usr/local 编译 ffmpeg libx264 配置 pkg-config,不然编译找不到 libx26…

联通 路由器 创维SK-WR9551X 联通华盛VS010 组mesh 和 锐捷X32 PRO 无缝漫游

前言 联通路由器:联通创维SK-WR9551X,联通华盛VS010组mesh,并与锐捷X32 PRO混合组网,开启无限漫游。 1、mesh ≠ 无缝漫游 mesh是实现路由器快速组网的一种方式,通过mesh组网后可以实现无缝漫游。 mesh组网的设备要…

015-spring-动态原理、AOP的xml和注解方式

强制使用cglib动态代理 spring-AOP的使用

Nginx代理本地exe服务http为https

Nginx代理本地exe服务http为https 下载NginxNginx命令exe服务http代理为https 下载Nginx 点击下载Nginx 下载好之后是一个压缩包,解压放到没有中文的路径下就可以了 Nginx命令 调出cmd窗口cd到安装路径 输入:nginx -v 查看版本 nginx -h&#xff…

Oracle ASM命令行工具asmcmd命令及其使用方法

asmcmd 是 Oracle ASM(Automatic Storage Management)的一个命令行工具,用于直接管理和操作 ASM 实例和磁盘组。以下是一些常用的 asmcmd 命令及其使用方法的简要说明: 一、基本命令 1.1、启动 asmcmd [gridracdb2:/home/grid]…

计算机网络ENSP课设--三层架构企业网络

本课程设计搭建一个小型互联网,并模拟Internet的典型Web服务过程。通过此次课程设计,可以进一步理解Internet的工作原理和协议过程,并提高综合知识的运用能力和分析能力。具体目标包括: (1)掌握网络拓扑的…

如何解决Eigen和CUDA版本不匹配引起的错误math_functions.hpp: No such file or directory

Apollo9针对RTX40的docker环境里的Eigen库版本是3.3.4,CUDA是11.8: 编译我们自己封装模型的某些component代码时没问题,编译一个封装occ模型的component代码时始终报错: In file included from /usr/include/eigen3/Eigen/Geometry:11:0, …