大家好,我是程序员_随心,希望能够通过自己的学习输出给你带来帮助。
背景
继上一篇文章@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…
最后
您的每一个点赞及评论都是对我坚持写作最大的支持! 另外希望各位朋友和我交流讨论,如有不对的地方,更希望批评指正!
我是程序员_随心,希望能够通过自己的学习输出给你带来帮助。