Mac升级vue3.x前卸载vue2.9.6失败的原因及解决办法,安装了3.x版本,输入官方命令npmuninstallvue-cli-g却无法卸载成功。一直提示到0.03s的时间。然后百度和谷歌找了半天,也没看到有效的解决办法,终于静下心来慢慢研究,终于知道原因了,记录下来,方便遇到同样问题的人。先介绍一下原因,大家可能都知道,npm是nodepackagemanager(节点包管理器)的缩写,我们在安装node的时候会一起安装。一般情况下,我们安装的node在/usr/local/bin目录下,npm在/usr/local/lib/node_modules目录下,然后我们通过npm全局命令安装的模块也在/usr下/local/bin目录下(比如npminstallvue-cli-g),我们平时在终端中使用的node--vesion或者vue--version命令实际上调??用的是/usr/local/bin中的命令。而我们在使用npmuninstallvue-cli-g命令卸载vue-cli模块的时候,也是在这个目录下查找并卸载。但是如果我们安装了vue之后再安装nvm(nodeversionmanager,节点版本管理器),就会出现问题,nvm会改变npm全局安装模块的路径,而我这边的路径变成了~/.nvm/versions/node/v10.15.1/bin,安装nvm后,我使用npm全局安装命令安装的所有模块都在这个目录下。然后我们使用npmuninstallvue-cli-g命令卸载vue,当然不会成功,因为卸载的是在~/.nvm/versions/node/v10.15.1/bin目录下,而我们的vue是安装的在/usr/local/bin目录下。那么知道原因之后,就要解决问题了。下面的方法不一定是最好的,大家可以探索更好的方法。删除/usr/local/lib/node_modules目录(谨慎选择,因为该目录其他地方可能有模块使用):sudorm-rf/usr/local/lib/node_modulesdelete/usr/local/binnode:sudorm/usr/local/bin/node删除/usr/local/bin下的vue:sudorm/usr/local/bin/vue删除~/.nvm目录:sudorm~/.nvm打开~/.bash_profile文件:vi~/.bash_profile删除.bash_profile文件中与nvm相关的部分:exportNVM_DIR="$HOME/.nvm"[-s"$NVM_DIR/nvm.sh"]&&\."$NVM_DIR/nvm.sh"#这会加载nvm[[-r$NVM_DIR/bash_completion]]&&\.$NVM_DIR/bash_completion使修改后的.bash_profile生效:source~/.bash_profile这时候nvm命令应该还在当前终端窗口,然后你关闭当前终端,重新打开终端输入nvm命令,你应该已经提示找不到重新安装nvm的命令(https://github.com/creationix...):curl-o-https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh|bashreinstallnode:nvminstall--ltsreinstallvue:npminstall-g@vue/cli此时使用vue--version可以看到3.x版本。这些命令所在的目录现在是~/.nvm/versions/node/v10.15.1/bin。提醒一下,如果想查看某个命令所在的目录,可以使用which命令,比如哪个vue,哪个节点,就会显示该命令所在的目录。最后,通过公众号“极客助手”购买“极客时间”所有课程,即可获得高额返现,最高返51元。想了解更多技术知识,可以关注“极客助手”公众号。参考资料:https://my.oschina.net/oslph/...https://github.com/creationix...
