關於gulp初學,執行專案常見的兩個錯誤,附nvm安裝
寫在前面,系本人學識淺薄,懂得不多,第一次寫部落格,目的也是在能幫助初學者解決問題就OK,如有操作不當,望見諒。
當我們在開始學習gulp,執行專案的時候,會遇見這個報錯:
「AssertionError [ERR_ASSERTION]: Task function must be specified」
翻譯一下意思是:「錯誤:必須指定任務函數」
我寫這篇文章的時候,是 gulp4 版本,輸入 gulp-v 可檢視版本號。
而我們寫的是 gulp3 程式碼,gulp4 版本太高,執行會報錯。
廢話不多說,直接開始解決:
既然說版本高,那行,我在 package.json 中修改版本號為 3.9.0 也就是 gulp3 版本。
再次執行 npm install 下載安裝此版本 gulp。
好了,版本降下來了,我們再次執行 gulp 命令,發現又出現一個錯誤:
「ReferenceError: primordials is not defined」
翻譯意思是:「參照錯誤:原始沒有定義」。
去網上搜一下也知道是 node 版本過高導致,需要降到 11 版本,輸入 node -v 檢視版本號,我們發現是 12 版本
那我們就需要降低 node 版本來嘗試一下。那麼問題來了,怎麼降低 node 版本呢?
(網上方法很多,我總結各種方法,省去了不必要的步驟,讓問題解決變得簡單些)
然後我們看到 nvm 這個可以切換版本的 nodejs 版本管理工具
那麼我們就需要安裝下 這個工具,放上下載連結:
https://github.com/coreybutler/nvm-windows/releases
下載下面的 nvm-setup.zip 壓縮包到本地資料夾,解壓找到如下圖,點選以 exe 結尾的檔案進行安裝。
安裝的時候會提示你是否要控制 node ,點選確定。
重新啟動 vsCode 或者 命令列工具 輸入 nvm -v 檢視版本,安裝成功。
(此時 nvm 環境變數自動設定)
接下來,我們利用 nvm 安裝 node 11 版本:
輸入命令 nvm install v11.15.0 即可安裝。
之後輸入 nvm ls 檢視已經下載的 node 版本,發現 12 版本有個 * 號,表示正在使用的版本。
我們發現,有兩個版本可用,再輸入nvm use v11.15.0,再次輸入 nvm ls 發現,已經在使用 11 版本。
好了,言歸正傳,終於可以解決問題了吧!輸入 gulp 命令,發現沒有報錯,成功了!
奉上 nvm 常見命令:
nvm的常用命令:
nvm -h 檢視所有命令
nvm list 檢視當前安裝的nodeJS的版本;這裡有星號標註的說明是當前使用的nodeJS版本
nvm install v11.15.0 指定安裝 v11.15.0 的 node版本
nvm use v11.15.0 使用此版本的 node