跳到主内容
Version: Next

PNPM的局限

  1. npm-shrinkwrap.jsonpackage-lock.json 被忽略。 与 pnpm 不同,npm可以多次安装相同的 name@version ,并且具有不同的依赖项组合。 npm 的锁文件旨在反映平铺的 node_modules 布局,但是,由于 pnpm 无法创建类似的布局,因此它无法遵循 npm 的锁文件格式。 但是,如果您希望将锁定文件转换为 pnpm 的格式,请看 pnpm import
  2. pnpm 不能发布带有 bundledDependencies 的 npm 包。 目前,也没有计划添加对 bundledDependencies 支持,因为它们在发布中的工作效率不高,即使在 npm 上也是如此。 相反,我们建议您使用一个实际的打包器,例如 webpack、rollup 或 ESBuild。
  3. Binstubs(在 node_modules/.bin中的文件)总是 shell 文件,而不是指向 JS 文件的符号链接。 创建 shell 文件是为了帮助支持插件的 CLI 的程序在特殊的 node_modules 结构中能够正确地找到它们的插件。 这是很少有的问题,如果您希望文件是 JS 文件,请直接引用原始文件,如 #736 所示。
  4. Node 的 --preserve-symlinks 标志在使用 pnpm 的项目中执行时,无法正常工作。

有关于上述问题的解决方法的想法吗? 分享它们。