use-node-version
指定项目的运行时应使用哪个具体的 Node.js 版本,pnpm
会自动安装指定版本的 Node.js 并将其用于运行 pnpm run
命令或 pnpm node
命令。这也可以用来替代 nvm
。
registry
这个配置项是 npm
那边的,但是 pnpm 依然对其进行了支持,用于修改注册源,可能某些包是 npm 私服中的,如果使用官方的注册源会导致下载不到包,但因为这样是一次性修改所有包的注册源,可能会导致一些其他的问题,所以也可以单独指定某些包的注册源,比如 @babel:registry=https://example.com/packages/npm/
这种就是将以 @babel
为首的包的注册源修改为:https://example.com/packages/npm/
strict-peer-dependencies
严格的对等依赖,某些包在安装的时候可能需要安装其他的前置依赖,比如我安装了 @vitejs/plugin-vue
但是没有安装 vite
,同时启用了 strict-peer-dependencies
,那么安装命令就会失败。
prefer-frozen-lockfile
如果设置为 true
,那么在安装依赖的时候会优先按照 pnpm-lock.yaml
中已存在的依赖关系来安装,并且不会更新 pnpm-lock.yaml
,这样可以避免 lockfile 文件在不同的设备安装依赖的时候被反复更新导致 git 冲突的问题。
shamefully-hoist
将依赖结构平铺, 使得可以使用部分幽灵依赖, 在写 nuxt 的时候尤为有用. 因为在使用 nuxt 项目的时候, 依赖项中不会存在 vue/vue-router 等依赖, 加上这个配置以后, 就可以将 pnpm 当做 npm/yarn 来使用, 在具有想同特性的同时还能获的 pnpm 的下载速度.
prefer-offline
优先使用本地已经安装过的文件, 避免重新从远程下载, 节省安装时间