gulp dev報(bào)錯(cuò) & nvm版本控制

gulp dev報(bào)錯(cuò)

gulp項(xiàng)目,當(dāng)我們使用較新的node版本下載項(xiàng)目依賴時(shí),gulp dev可能會(huì)報(bào)錯(cuò):


image.png

原因在于,gulp版本可能在V3,而node版本則在V12,版本不兼容。
解決方法:

  1. 版本控制:
  • 將gulp版本升級(jí)到V4;
  • 將node版本降級(jí)到V11;
  • 將graceful-fs升級(jí)到在node v12+下工作的版本4.2.2(推薦);
  1. 最佳方法:
    在package.json同級(jí)目錄下新建文件npm-shrinkwrap.json,并輸入以下內(nèi)容:
{
  "dependencies": {
    "graceful-fs": {
        "version": "4.2.2"
     }
  }
}

文件創(chuàng)建完成后,再進(jìn)行 npm install, 依賴下載完成后,再執(zhí)行 gulp dev,此時(shí)項(xiàng)目就能正常運(yùn)行了(關(guān)于npm-shrinkwrap.json,可查閱參考資料)。
注意:
需要注意的是,這個(gè)文件在執(zhí)行npm install之后會(huì)被重寫,如果后續(xù)其他人初始化項(xiàng)目時(shí)基于的是重寫后的這個(gè)文件去install,gulp dev時(shí)還是會(huì)報(bào)錯(cuò),所以這個(gè)文件只將最開始時(shí)的文件傳到git即可,后續(xù)不要上傳。

nvm的使用

當(dāng)我們同時(shí)參與多個(gè)項(xiàng)目,而每個(gè)項(xiàng)目所使用的node版本都不一樣,此時(shí)就要使用到nvm版本管理工具,每次切換項(xiàng)目時(shí)切換對(duì)應(yīng)的node版本(麻煩的地方在于,每次切換項(xiàng)目,都需要切換對(duì)應(yīng)的node版本)。

nvm安裝與使用
windows nvm下載地址
選擇nvm-setup.zip下載即可。

檢驗(yàn)安裝是否成功:
cmd,輸入nvm -v,出現(xiàn)版本號(hào),說明安裝成功。

注意

  1. 安裝nvm前,如果以前安裝過node的,必須先將node卸載掉,否則即使nvm安裝成功,nvm use version也提示成功,最終用的還是你原來的node版本;
  2. 選擇安裝目錄時(shí)直接放到根目錄即可,不要放到C:\Program Files目錄下,否則由于Program File 存在空格,在使用 nvm use [version] 切換版本時(shí)會(huì)出現(xiàn)亂碼的情況:
    image.png

如果嫌棄安裝node和npm包時(shí)速度太慢,可使用淘寶鏡像,找到nvm安裝目錄,在setting.txt中添加:
nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/

nvm使用
nvm list:查看已安裝過的版本
nvm use [version]:切換node版本,如:nvm use 11.15.0

參考
gulp打包錯(cuò)誤
How to fix "ReferenceError: primordials is not defined" error
nvm命令
nvm使用
npm-shrinkwrap.json
npm-shrinkwrap鎖定依賴

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容