Use `pnpm` to replace `yarn`

447 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

铛铛铛,换用新工具咯~

先说结论:换用pnpm后,能正常地安装依赖和打包,而且速度的提升肉眼可见!

不过思索良久,最终还是决定,鉴于pnpm这个开源项目牵扯到政治因素,所以只在个人项目使用它,公司项目依然沿用yarn

具体更换过程如下:

  1. 全局安装
npm i -g pnpm

貌似转好后,它自动给我配置了国内源,因为它用的源跟我yarn配置的源不一样

  1. 删除lock和node_modules
rm -rf yarn.lock node_modules/
  1. 重新安装依赖包
pnpm install
  1. 修改package.json里的自定义脚本
   "scripts": {
     "dev": "vite --host",
     "build": "vue-tsc --noEmit && vite build",
     "preview": "vite preview",
-    "pre": "yarn install --ignore-scripts && yarn build",
-    "lint": "zx .lint.mjs",
-    "update": "yarn upgrade-interactive --latest",
+    "pre": "pnpm install --ignore-scripts && pnpm build",
+    "lint": "zx .codeLint.mjs",
+    "update": "up --latest",
     "fab": "zx .fab.mjs",
     "bump": "zx .bump.mjs",
-    "prepare2": "zx .prepare.mjs"
+    "prepare2": "zx .prepare.mjs",
+    "preinstall:comment": "强制使用pnpm(https://juejin.cn/post/7033560
885050212389)",
+    "preinstall": "npx only-allow pnpm"
  1. OK, 可以愉快的使用pnpm update来升级依赖包,也可以happy地使用pnpm dev来启动项目了

By the way: 之所以会有这次切换,是因为在GitHub上,看到尤大在 vue3 以及 vite 仓库中切换包管理为 pnpm

然后,就打开pnpm的源代码库github.com/pnpm/pnpm 稍微瞄了一下项目的描述,看到速度对比,确实很吸引人。但是开头那张图片里,饱含的政治因素,却让我倍感不解:开源项目不是应该保持技术的纯粹性吗?跟本项目无关的内容,放到单独的博客或者其他发声的渠道跟合适吧?

讲实话,对于图片里表达的焦虑,我深感同情,但却让我对于要不要使用pnpm甚是踌躇。后来,在知乎里,看到一段回复后,我才敢放心大胆地在个人项目里使用它:

## 我的政治立场

就我个人自己的立场:

-   我爱好和平,不希望看到战争。
-   不支持 俄罗斯 或 乌克兰 的任何一方。
-   反北约。

但我绝对不会在开源项目中去传达这些,我的政治倾向只会在社交网络去表达,而让技术归技术。

www.zhihu.com/question/51…