日常的问题也是日常的修行
每天的工作都很忙碌,早就想寫一些博客記錄一下遇到的問題和感悟,一直由于在有時間的時候選擇懶惰和忙碌時候選擇放棄,故而很久沒有更新了。
生活依然在按部就班地繼續,最近遇到了一個小的問題,卻讓我明白:很多看起來微小的事兒,也能最終影響很多。
大概從半個月前,我發現一些怪事兒:
- 每次在終端使用我寫的一個命令去安裝node依賴總是用的一個特別高的版本21.xx。
- 某個半年多之前寫的unit test一直會報錯,而其他人電腦上不會遇到。
針對第一個問題,我在.zshrc里面的命令定義如下:
alias rnpmi='npm cache clean --force && rm -rf ./node_modules/ && nvm use && npm i'
在項目的根目錄下已經有.nvmrc文件,所以當執行rnpmi命令的時候,會先強制清空npm cache,然后刪除node_modules,最后用.nvmrc指定的node版本去安裝node依賴。
而實際執行之后的輸出是:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@hc/xenial-venues-inventory@1.0.0',
npm WARN EBADENGINE required: { node: '18.13.0', npm: '8.19.3' },
npm WARN EBADENGINE current: { node: 'v21.1.0', npm: '10.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@hc/xenial-data-contracts@3.4.17',
npm WARN EBADENGINE required: { node: '12.14.1', npm: '6.13.4' },
npm WARN EBADENGINE current: { node: 'v21.1.0', npm: '10.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@hc/xenial-redis-client@2.3.14',
npm WARN EBADENGINE required: { node: '>=8.11.2 <19' },
npm WARN EBADENGINE current: { node: 'v21.1.0', npm: '10.2.0' }
npm WARN EBADENGINE }
可以看出,使用的node版本是v21.1.0,一直不斷有warn出現。
而我不用rnpmi命令,把“nvm use”和“npm i”分別在終端執行,依然是一樣的結果。我開始有點郁悶了,到底是哪里出了問題,是終端的問題還是zsh的問題(我默認使用的是zsh)。
為了確定是zsh還是終端有問題,我切回了bash,然后再次分別執行nvm use和npm i,這次終于是使用我想要的node 18.xx了。
由此我初步認為是zsh出了問題,回憶起最近安裝了一些python的coda以及其他軟件,我重點檢查了一下.zshrc文件,并沒有發現什么異常。
一時之間我沒有了頭緒,感覺答案近在咫尺又離我很遠。我也不可能因為node版本的問題徹底放棄zsh,改用bash,畢竟我是zsh顏粉。
后面我通過AI的幫助有了一個新的想法,可以試著重新加載一下.zshrc:
source ~/.zshrc
然后發現有一個和angular相關的配置有問題,導致整個.zshrc加載配置失敗。我于是刪除了這一行,之后重新source了一次,然后一切終于恢復正常了。第一個問題和第二個問題都解決了,都是由于本地brew安裝的node版本太高,而nvm use沒有真正在zsh里面生效。
小結:
1.如果是環境問題還是要盡快解決,保證不會出現大的偏差。
2. 學會借助AI來擴展思路。
總結
以上是生活随笔為你收集整理的日常的问题也是日常的修行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文心一言 VS 讯飞星火 VS chat
- 下一篇: 视野修炼-技术周刊第61期