前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >译:npm 7已经可以使用了

译:npm 7已经可以使用了

作者头像
flytam
发布2021-03-02 10:57:33
1.3K0
发布2021-03-02 10:57:33
举报

原文

正如大家所期待, npm CLI 7 现在已经可以使用了

除了一些新特性和不兼容更改之外。与npm 6相比,我们对npm 7的性能方面产生了一些重要的影响,其中包括:

注意,npm 7现在已发布到npm仓库的最新版本,执行npm install --global 时将默认安装npm 7。如果要安装npm 6,请执行npm install --global npm @6

不兼容改动

尽管对npm内部进行了较大的修改,但我们仍在努力,以确保对大多数工作流的破坏最小。也就是说,必须进行一些破坏性更改才能改善开发者的体验。可以在博客中查阅不兼容的改动。

会修改lockfile

一个需要注意的改动是新的lockfile格式,该格式会向后兼容npm 6用户

在以前的版本中,yarn.lock文件被忽略,npm CLI现在可以使用yarn.lock作为package元数据和依赖的来源。如果存在yarn.lock,则npm还将使它与package的内容保持最新。

使用npm 7并且在有v1 的lockfile的项目中执行npm install,则会把lock file文件的内容取代成v2的格式。如果想避免这种行为,可以通过执行npm install --no-save

peer dependencies

npm 7中引入的一项新功能是自动安装peer dependencies。在npm的之前版本(4-6)中,peer dependencies冲突会有版本不兼容的警告,但仍会安装依赖并不会抛出错误。在npm 7中,如果存在无法自动解决的依赖冲突,将会阻止安装。

可以通过使--force选项重新安装来绕过冲突,或者选择--legacy-peer-deps选项peer dependencies的依赖关系(类似于npm版本4-6)。

由于许多包都依赖宽松的peer dependencies解析,npm 7将打印警告并解决包依赖树中存在的大多数同级冲突,因此这些冲突不能手动处理。要在所有层级强制执行严格正确的peer dependencies依赖关系,请使用--strict-peer-deps选项。

感谢

最后,我们要向感谢那些提交了更改、参加了RFC讨论、提供了​​反馈和作为早期采用者的社区成员。之后我们仍致力于继续改进npm CLI,因此,如果你将来有任何反馈,请使用npm/feedback仓库来讨论。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 不兼容改动
    • 会修改lockfile
      • peer dependencies
      • 感谢
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档