致謝:CSDN@beeegood提供的問題。
今天他們遇到一個很有意思的bug,用@vue/cli創建項目的時候報錯了,還是個從來沒見過的報錯:
一開始以爲是版本問題,畢竟報錯信息上寫着update,但是cli的版本是最新的,而且詢問之後,node和npm版本也是最新的(12.16.1,截止我寫這篇文章的時候是最新的);最要命的是,也沒有老版本的vue-cli……
這就非常有意思了。按照慣例,遇到前端的問題,第一反應就是卸載重裝,一套操作行雲流水:
npm uninstall -g @vue/cli
npm cache clean --force
npm install -g @vue/cli
然而並沒有什麼用,查了半天網上也找不到相關的報錯,這就很尷尬了。
後來我注意到下面有個yarn的輸出,難道cli內建的是yarn?但是這不應當:
雖然覺得很不可思議,但我還是決定看看yarn的版本,yarn有重大嫌疑。果然:
問題找到了。但是這是啥?Hadoop?
後來纔想起來,yarn同時也是Hadoop的一部分,用來調度資源的:
從環境變量裏移除Hadoop的yarn之後,就能正常創建項目了。
但是我還有一個問題沒有解決,爲什麼cli會使用yarn?我這裏的cli用的是npm啊。對比~/.vuerc
之後,發現我這裏的配置是這樣的:
{
// ...
"packageManager": "npm"
}
他那裏的配置是:
{
// ...
"packageManager": "yarn"
}
後來聽他說,他第一次安裝cli的時候,好像選的是yarn……