npm install編譯時報"Cannot read properties of null (reading ‘pickAlgorithm‘)"錯誤的解決辦法

先看報錯:

先說下網上大多數的解決方案:

方案一:

重新安裝node解決

方案二:

刪瞭node models重新下

或者直接下載CNPM(淘寶鏡像)進行安裝 CNPM安裝辦法

npm install -g cnpm -registry=https://registry.npm.taobao.org

查看cnpm是否真安裝成功 cnpm -v

方案三:

清除緩存npm cache clear –force之後再重新安裝依賴npm install

我的解決方案

基本上都是以上這三種方法,先說下我的項目為什麼會出現這種報錯,項目原先用的node13和14的版本,然後我們將node 升到16後發現原先的所有項目都編譯不瞭瞭,全報這種錯誤。

測試的時候遇到的假象,當將node13升到16的時候,重新編譯,編譯是正常的,但是後來發現當node_modules 刪除後重新編譯就會出現上面的錯,原因可能是我們node13編譯的node_modules沒有刪除,項目一直讀的node13編譯的東西,給我們以為我們安裝的node16是成功的。

遇到這類問題,牽扯到node升級,以上的解決方案並沒能解絕。

最後解決方案,找到package-lock.json文件。將圖中圈紅的內容保留,其餘的全部刪除,然後npm install重新編譯,package-lock.json會生成一份新的文件。最後編譯成功。得以解決。

總結:

node13生成的 package-lock.json 在結構上可能與node16的package-lock.json 結構上進行瞭大變動。所以我們用node13生成的package-lock.json讓node16去解析,肯定是解析不瞭的。所有我們將內容刪掉,node16給我們生成瞭一份新的內容。理論上說不會影響我們的項目,因為我們用的各種包的版本是在package.json內定義的,生成的package-lock.json內的版本依賴也是參照的package.json生成出來的,並不影響整體框架的使用。

到此這篇關於npm install編譯時報“Cannot read properties of null (reading ‘pickAlgorithm‘)“錯誤的解決辦法的文章就介紹到這瞭,更多相關npm install編譯時報錯內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: