mac下yarn全局安装@vue/cli后执行vue命令提示notfound

2,302 阅读2分钟

大家好,我是程序员_随心,希望能够通过自己的学习输出给你带来帮助。

背景

继上一篇文章@vue/cli卸载不了,我卸载通过npm全局安装的@vue/cli包后,我想用yarn进行全局安装。结果用yarn安装后,执行vue -V后提示command not found: vue。这是为啥呢?

介绍下我的环境:

  • macOS Monterey Apple M1
  • npm 8.1.2
  • node v16.13.1

尝试

stackoverflow上找资料,找到了对应的问题zsh: command not found: vue

原因其实在yarn的环境变量的设置上

其中我尝试成功的方式有二种,执行vue -V命令后均能得到对应版本号@vue/cli 5.0.4

方法一:我改变了$PATH

# 查找yarn全局安装可执行文件的文件夹
➜  ~ yarn global bin
/Users/hsm/.yarn/bin
➜  ~ echo 'export PATH="/Users/hsm/.yarn/bin:$PATH"' >> ~/.zshrc

# 如果 source .zshrc 后未生效的话,可以关闭当前的shell工具然后重新打开尝试
➜  ~ source .zshrc
➜  ~ vue -V
@vue/cli 5.0.4

此方法一举解决了yarn全局安装其他包的时候,命令找不到的问题。

方法二:sudo yarn global add @vue/cli

➜  ~ sudo yarn global add @vue/cli
success Installed "@vue/cli@5.0.4" with binaries:
      - vue
✨  Done in 74.74s.
➜  ~ vue -V
@vue/cli 5.0.4

很神奇对不对,竟然用sudo就直接可以用了,原来sudo yarn global add yarn global add安装的位置不一样,全局安装可执行文件的文件夹也不同:

➜  ~ sudo yarn global list
Password:
yarn global v1.22.18
info "@vue/cli@5.0.4" has binaries:
   - vue
info "tldr@3.3.7" has binaries:
   - tldr

➜  ~ yarn global list
yarn global v1.22.18
info "create-nuxt-app@3.7.1" has binaries:
   - create-nuxt-app
info "create-vite@2.8.0" has binaries:
   - create-vite
   - cva
info "nrm@1.2.5" has binaries:
   - nrm
   

➜  ~ sudo yarn global bin
/usr/local/bin
➜  ~ yarn global bin
/Users/hsm/.yarn/bin

参考

stackoverflow.com/questions/5…

最后

您的每一个点赞及评论都是对我坚持写作最大的支持! 另外希望各位朋友和我交流讨论,如有不对的地方,更希望批评指正!

我是程序员_随心,希望能够通过自己的学习输出给你带来帮助。