本文已参与「新人创作礼」活动,一起开启掘金创作之路。
铛铛铛,换用新工具咯~
先说结论:换用pnpm后,能正常地安装依赖和打包,而且速度的提升肉眼可见!
不过思索良久,最终还是决定,鉴于pnpm这个开源项目牵扯到政治因素,所以只在个人项目使用它,公司项目依然沿用yarn
具体更换过程如下:
- 全局安装
npm i -g pnpm
貌似转好后,它自动给我配置了国内源,因为它用的源跟我yarn配置的源不一样
- 删除lock和node_modules
rm -rf yarn.lock node_modules/
- 重新安装依赖包
pnpm install
- 修改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"
- OK, 可以愉快的使用pnpm update来升级依赖包,也可以happy地使用pnpm dev来启动项目了
By the way: 之所以会有这次切换,是因为在GitHub上,看到尤大在 vue3 以及 vite 仓库中切换包管理为 pnpm
然后,就打开pnpm的源代码库github.com/pnpm/pnpm 稍微瞄了一下项目的描述,看到速度对比,确实很吸引人。但是开头那张图片里,饱含的政治因素,却让我倍感不解:开源项目不是应该保持技术的纯粹性吗?跟本项目无关的内容,放到单独的博客或者其他发声的渠道跟合适吧?
讲实话,对于图片里表达的焦虑,我深感同情,但却让我对于要不要使用pnpm甚是踌躇。后来,在知乎里,看到一段回复后,我才敢放心大胆地在个人项目里使用它:
## 我的政治立场
就我个人自己的立场:
- 我爱好和平,不希望看到战争。
- 不支持 俄罗斯 或 乌克兰 的任何一方。
- 反北约。
但我绝对不会在开源项目中去传达这些,我的政治倾向只会在社交网络去表达,而让技术归技术。