您好,登錄后才能下訂單哦!
這篇“npm安裝依賴報錯ERESOLVE unable to resolve dependency tree如何解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“npm安裝依賴報錯ERESOLVE unable to resolve dependency tree如何解決”文章吧。
在一個安裝了 react@18.2.0
的項目中安裝依賴 ali-react-table
,就會出現以下錯誤。仔細閱讀錯誤原因可以得知,ali-react-table
中使用 peerDependencies
定義了依賴于react@"^16.8.0 || ^17.0.1"
項目,和我們項目中的 React
版本號沖突了。雖然這里是因為 ali-react-table
已經疏于維護并沒有更新依賴版本信息,但是我們對第三方依賴的可控性是比較低的,除了等待第三方依賴更新或者提 PR
等待合并之后發版,我們還有一些其他方法可以暫時解決這個問題。
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: vite-project@0.0.0 npm ERR! Found: react@18.2.0 npm ERR! node_modules/react npm ERR! react@"^18.2.0" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer react@"^16.8.0 || ^17.0.1" from ali-react-table@2.6.1 npm ERR! node_modules/ali-react-table npm ERR! ali-react-table@"*" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
依賴規則校驗是在 npm@7
之后引入的,我們可以降級 Node.js
或者 npm
來繞過校驗就不會報錯了。
nvm use 14.17.4 ## or npm i -g npm@6
其實我們知道 ali-react-table
時由于疏于維護,所以沒有及時更新依賴版本信息。實際測試和我們項目里的 react@18.2.0
是可以運行沒有問題的,那么我們就可以安裝的時候帶上 --force
參數(簡寫 -f
)告訴 npm
強制安裝。
npm install -f
另一個參數是 --legacy-peer-deps
, 可以不用降級 npm
也讓 npm install
的行為和舊版本一樣,參考文檔。不過這個參數實際使用效果可能依據項目存異,需要自行測試。
npm install --legacy-peer-deps
實際項目中可能不僅僅存在一個以上類似 ali-react-table
依賴版本和項目所需要的依賴版本不一致的問題,可能會有好多依賴都會有該問題,有時候我們知道項目的依賴版本關系,可以使用 resolutions
(只有使用 yarn
才能使用,參考文檔) 或者 overrides
(只有 npm@8
以上才能使用,參考文檔 ) 來指定、覆蓋第三方包指定的依賴版本。這個參數在其他一些場景也非常有效,比如所需要的第三方依賴缺少維護了、指定的版本是有問題的版本等。
{"name": "project","version": "1.0.0","dependencies": {},"resolutions": {"react": "^18.2.0"} }
{"overrides": {"react": "^18.2.0"}}
以上就是關于“npm安裝依賴報錯ERESOLVE unable to resolve dependency tree如何解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。