使用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和npmnode卸载然后在通过以下指令卸载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

提示node已存在,需要覆盖,于是执行brew link --overwrite node,结果还是报错:

Error: Could not symlink share/systemtap/tapset/node.stp
/usr/local/share/systemtap/tapset is not writable.
1
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创建成功。