軟件 | 版本 |
---|---|
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
查看bin目錄中有vue.cmd文件npm
嘗試將該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個解決方法:
將C:\Users\xxx\AppData\Local\Yarn\Data\global\node_modules\.bin
添加到path環境變量中
將cmd文件中的%~dp0\
去掉(同時bin目錄要在環境變量中)
我的認爲第一個比較直接,後面相似問題都能避免。第二種沒遇到這個問題都要這麼作,好比webpack也是這樣的問題。