使用pnpm遇到的一系列问题
下班回来,想试下 pnpm
创建 vite
项目,于是通过brew
安装pnpm
后,执行pnpm create vite my-app
报错:
ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND No package.json (or package.yaml, or package.json5) was found in "/Users/chengjiewen".
1
google一下,发现当前pnpm
版本为6.14.7,最新版的7.0.0已解决此问题。于是就通过brew upgrade pnpm
进行升级。升级完后再次执行又报错:
ERROR: This version of pnpm requires at least Node.js v14.19
1
node
版本太低了,无语,没办法,升级node
。
由于之前node
是直接下载安装包进行安装的,我想都改成通过brew
统一管理,于是先卸载nodejs
,怎么卸载呢?应用中并没有nodejs
可卸载,于是又一顿搜索,mac居然要手动删文件夹,参考这篇文章Mac下彻底卸载node和npm 将node
卸载然后在通过以下指令卸载brew
安装的node
brew uninstall --force --ignore-dependencies node
1
之后再重新通过brew install node
安装最新版的node
,此时执行node -v
显示指令不存在,通过brew link node
设置全局的软链接,结果又报错:
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/man/man1/node.1
Target /usr/local/share/man/man1/node.1
already exists. You may want to remove it:
rm '/usr/local/share/man/man1/node.1'
1
2
3
4
5
6
2
3
4
5
6
提示node
已存在,需要覆盖,于是执行brew link --overwrite node
,结果还是报错:
Error: Could not symlink share/systemtap/tapset/node.stp
/usr/local/share/systemtap/tapset is not writable.
1
2
2
提示/usr/local/share/systemtap/tapset
无法写入,又是一顿搜索,参考这篇stackoverflow上的回答,将当前用户设为该文件的拥有者:
sudo chown -R chengjiewen:admin /usr/local/share/systemtap
1
再次执行brew link —overwrite node
,终于成功了,执行node -v
成功打印出版本号,到此终于完成了pnpm create vite my-app
创建成功。