npm7 公告
这是一段漫长而疯狂的旅程,但我很高兴与大家分享,自从一年多前加入 npm 团队以来,我一直努力工作的这个项目终于发布了!npm7是 npm cli 的新主要版本 😍
TLDR;npm install -g npm@7
什么是新的?
首先让我们重点介绍一下主要新增内容:
- 工作区!用户呼声最高的功能终于进入稳定版了🎉
- 再次自动安装对等依赖项📦
改善 DX
有一些较小的更改/添加/调整有望继续帮助改善用户体验,例如:
- 新命令 - 与现在 cli 中的命令
npm exec
相同😁npx
- 新的包锁格式并支持从
yarn.lock
文件安装🚀 - 输出提升
npm audit
!😎 - npm cli 的新更新通知系统
- 从 PR 安装 git/GH pkg 的能力:
npm i user/project#pull/123
- 更少冗长的安装输出
- 使用时跳过前/后脚本
--ignore-scripts
- 新的数据缓存系统
node_modules
使npm ls
速度更快 npm ls
现在默认仅显示顶级依赖,要查看整个树,您现在可以运行npm ls --all
npm fund
输出略有改进,突出显示资金 URL 并正确嵌套 deps- 还有更多!
清理工作
实际上,npm7 是 npm cli 的长期重构/清理,它为我们的生态系统产生了几个非常重要的内部包,这些包现在是 npm 的标准编程 API:
- @npmcli/arborist新
npm install
系统 - @npmcli/config新的 npm 配置
- @npmcli/run-script新的
npm run
- @npmcli/map-workspaces读取工作区配置
- libnpmfund
npm fund
编程 API
我真的很高兴看到这将在社区中实现什么,这是第一次在用户空间脚本中require('@npmcli/arborist')
实现相同的npm install
体验,而无需生成任何子进程。
还值得一提的是,此版本中的大量工作都是为了确保每一行代码和功能都经过充分测试且稳定,以便我们能够更好地迭代新功能和错误修复😊
更多的?
还有一些新的选项/标志与一些新功能一起使用,例如--legacy-peer-deps
,--strict-peer-deps
有助于调整安装对等依赖的行为,npm ls --all
以查看所有已安装的依赖,因为默认现在只显示顶层,等等
团队将努力添加更多测试并修复在 Beta 测试期间发现的任何错误😄请随时通过我们的GitHub 问题跟踪器与我们联系,该跟踪器现在提供有关如何报告错误、提出新功能或获取帮助的最佳最新链接。
您还可以通过官方渠道阅读有关此发布的更多信息:
⬇️ 立即获取
npm7将成为即将发布的node15版本的一部分,但如果您想先获得它,您现在就可以使用以下命令安装它:
npm install -g npm@7