pnpm 是一个快速、节省磁盘空间的软件包管理器。它使用一个内容可寻址的文件系统来存储磁盘上所有模块目录的所有文件。当使用 npm 或 Yarn 时,如果你有 100 个使用 lodash 的项目,你将在磁盘上有 100 份 lodash 的拷贝,而使用 pnpm 时,lodash 将被存储在一个内容可寻址的存储器中。
pnpm 7.0 正式发布,更新内容如下:
主要变化
不支持 Node.js 12
运行
pnpm -r exec|run|add
时,默认排除了 root 包默认情况下,
embed-readme
设置为false
当使用
pnpm run <script>
时,脚本名称后面的所有命令行参数现在都被传递到脚本的 argv 中,甚至包括-
。默认情况下,Side effects 缓存是开启的。要关闭它,请使用
side-effects-cache=false
npm_config_argv
环境变量没有为脚本设置pnpx
现在只是pnpm dlx
的一个别名pnpm install -g pkg
将只把全局命令添加到预定义的位置pnpm pack
只有在文件是 bin 或列在publishConfig.executableFiles
数组中时,才会将其打包为可执行文件W
不再是-ignore-workspace-root-check
的别名了允许在一个与软件包名称不匹配的目录中执行生命周期脚本。以前只有在使用
--unsafe-perm
CLI 选项时才允许这样做strict-peer-dependencies
默认为true
根工作区项目的依赖不用于解决其他工作区项目的 peer dependencies
不要默认将类型提升到
node_modules
的根目录将全局存储的位置从
~/.pnpm-store
更改为<pnpm home directory>/store
在 Linux 上,默认是
~/.local/share/pnpm/store
在 Windows 上:
%LOCALAPPDATA%/pnpm/store
在 macOS 上:
~/Library/pnpm/store
Lockfile 版本升级到了 5.4
更多详情可查看:https://github.com/pnpm/pnpm/releases