理解 npm i 之后都干了啥

npm i 是 npm 的一个命令,用于安装指定的模块和它们的依赖。

运行 npm i 命令之后,它会在当前目录下的 node_modules 文件夹中安装所有需要的依赖项及其子依赖项。如果 package.json 文件存在且包含了依赖列表,npm i 还会将所需的包版本号记录在 package.json 文件中。

初次执行 npm i 命令之后,会进行以下步骤:

  1. 检查 package.json 文件是否存在,如果不存在,则创建一个空的 package.json 文件;
  2. 解析 package.json 文件中的 dependencies 和 devDependencies 字段,确定需要安装的依赖项及版本号;
  3. 从 npm 服务器下载目标包和相关依赖,存储到本地的 node_modules 目录中;
  4. 如果依赖项中有其他依赖,npm 会递归下载安装它们;
  5. 安装完成后,npm 会将所有的依赖写入 package.json 文件中。

在已有的node_modules项目中执行npm i 命令之后,更新项目的node_modules的配置,会进行一下命令:

  1. 从项目package.lock.json中查看依赖版本的integrity属性,比对是否跟本地版本一致,
    如果一致,就跳过这个包的安装如果不一致走2
  2. 参考package.json中包的版本,然后根据语义化版本更新机制,去下载合适的新版本
    更新package.lock.json配置
  3. 如果依赖包的版本有更新,我们在新下载到的依赖包的package.json中会看到两个字段
    from和id,from就标识我们项目文件中配置的包版本,id标识当前下载到的包版本
    语义化版本不会跟新到大版本,需要手动更新
  4. npm i xxx@2.0.0 或者 npm i xxx@latest 会更新到大版本,同时修改项目package.json中的依赖包版本
  5. 项目中新安装到的依赖包版本,默认都会以^开头
  6. package.lock.json中会锁定项目依赖包中的依赖包的具体版本

由上可知,package.lock.json 是根据 package.json 生成的,所以当你更新依赖或者新加了某个依赖的时候,请务必记得提交package.json 文件!!!

通过执行 npm i 命令,可以方便地安装所需的依赖,避免手动下载和安装模块的繁琐操作。

原文链接:https://blog.csdn.net/xiaoxia_127/article/details/108380604

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值