如何得知目前项目的node包管理器
前言
以前写的一个小项目,记不起来用的是pnpm还是npm。
其中还更换过管理器,所以很混乱,由于是自己随便写的,因此能跑就行(大雾
方法
查看package.json文件
最底下有packageManager
字段,这个应该是项目初期使用的包管理器。
由于换过管理器,因此用这个方法还是错了。
查看lock文件
这个方法应该是最准确的。
- npm,使用package-lock.json
- yarn,使用yarn.lock
- pnpm,使用pnpm-lock.yaml
看了一下,packageManager用的是pnpm,然后之后混用了npm,于是项目的锁文件变成了package-lock.json
总之解决问题了就好。
换掉
删除node_modules,然后pnpm i
即可。
rimraf .\node_modules\
更换包管理器应该搜索关键词迁移
。
比如下面这篇文章。
https://pengtech.net/nodejs/migrate_to_pnpm.html
在package.json的script中,添加以下字段,可以避免运行其他的包管理器。
"preinstall": "npx only-allow pnpm"
如此一来,可以防止我前面这种问题的出现。