【react npm】解決用npmstart啟動別人的react項目的問題1:sha1-xxx checksum failed wanted sha1-xxx but got sha512-xxx. (10700 bytes)


1、npm是nodejs的包管理器,相當於php的composer,python的pip,用於安裝各種包。

 

2、一般來說,別人拷給你的react項目不會帶依賴包的,因為太大了,需要用npm命令自己安裝,所以,啟動別人react項目的流程是:

進入項目根目錄

刪除node_modules目錄

運行npm install命令,安裝所需包

安裝完成后,npm start 啟動

 

報錯解決

這次,我在clone下來項目后直接運行npm start,系統報了沒有react-app-rewired包錯誤。說明需要執行npm install

 

在項目根目錄中執行npm install(注意,直接npm install就行,不必指定要安裝的包名,系統會自動根據package.json和package-lock.json為項目安裝各種包。

執行npm install又遇到報錯:

sha1-xxx checksum failed  wanted sha1-xxx but got sha512-xxx. (10700 bytes)

 

嘗試了網上的各種方法都不對。

又以為是npm或nodejs的版本太低了,將npm和nodejs都升級之后還是不對。

 

根據錯誤提示查看錯誤log:

在log中搜索一下錯誤提示中的 hash值,發現 log 的21739行:

注意這一行:

21739 silly tarball trying file-saver@1.3.8 by hash: sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=

 

再看一下要打開的react項目中的package.json文件:

搜索一下filesaver



因此錯誤原因是:該項目需要file-saver 1.3.8版本,而使用 “ npm install ” 命令默認安裝的不是該版本,因此 npm install 命令報錯。

於是嘗試為npm命令指定安裝包的版本

npm install  --save  file-saver@1.3.8

發現filesaver安裝成功。

然后在運行npm install命令,發現報錯消失。

解決

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM