解決nodejs使用yarn安裝vue-cli提示'vue' 不是內部或外部命令

Nodejs使用yarn安裝vue-cli提示'vue' 不是內部或外部命令

環境

軟件 版本
nodejs v8.11.3
npm 6.11.3
yarn 1.17.3
vue-cli 3.11.0
C:\Users\xxx>node -v
v8.11.3

C:\Users\xxx>npm -v
6.11.3

C:\Users\xxx>yarn -v
1.17.3

C:\Users\xxx>vue --version
3.11.0

官網下載最新的nodejs軟件,爲windows x64的zip版(node-v10.16.3-win-x64.zip)。直接解壓,而後配置環境變量,添加對應目錄到path變量中。設置了npm安裝源爲淘寶鏡像,安裝路徑前綴爲指定global目錄。而且安裝yarn。vue

由於是公司內網,使用代理上網。npm安裝包特別慢。反而yarn要快點。因此使用yarn安裝vue腳手架。node

Vue CLI 的包名稱由 vue-cli 改爲了 @vue/cli。 若是你已經全局安裝了舊版本的 vue-cli (1.x 或 2.x),你須要先經過 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸載它。webpack

問題

雖然網絡很差,通過屢次嘗試,最終仍是安裝完成了vue腳手架。可是在命令行輸入vue --version(3.X的命令),提示:'vue' 不是內部或外部命令,也不是可運行的程序 或批處理文件。web

解決

網上給的解決方案通常都是讓將node安裝的路徑(global目錄)添加到path下。查看指定的global目錄中只有npm和yarn的執行文件,沒有vue的執行文件,而且多了一個bin目錄。vue-cli

node-yarn-vue-1.png

查看bin目錄中有vue.cmd文件npm

node-yarn-vue-2.png

嘗試將該bin目錄也加入到path下。而後再次執行vue --version。此次提示:文件名、目錄名或卷標語法不正確。windows

D:\Programs\node-v10.16.3-win-x64\node-global\bin>vue --version
文件名、目錄名或卷標語法不正確。

這個錯誤就以爲是哪一個參數有問題了,可是我沒傳文件夾路徑呀!bash

隨後打開該vue.cmd文件。就一行代碼網絡

@"%~dp0\C:\Users\xxx\AppData\Local\Yarn\Data\global\node_modules\.bin\vue.cmd"   %*

原來yarn安裝後的路徑在C:\Users\xxx\AppData\Local\Yarn\Data\global\node_modules\.bin\vue.cmd,這邊只是封裝一下調用。問題就出如今路徑前面的%~dp0\,我cmd命令會的很少,這個應該是指當前目錄。可是這個路徑明顯不存在。spa

2個解決方法:

  1. C:\Users\xxx\AppData\Local\Yarn\Data\global\node_modules\.bin添加到path環境變量中

  2. 將cmd文件中的%~dp0\去掉(同時bin目錄要在環境變量中)

我的認爲第一個比較直接,後面相似問題都能避免。第二種沒遇到這個問題都要這麼作,好比webpack也是這樣的問題。

相關文章
相關標籤/搜索