今天接到一個新任務,修改一個 wepy 框架開發的微信小程序。
npm install wepy-cli -g wepy -v 1.7.3 $ npm install @wepy/cli -g # 全局安裝 WePY CLI 工具 $ wepy init standard myproj # 使用 standard 模板初始化項目 $ cd myproj # 進入到項目目錄 $ npm install # 安裝項目依賴包 $ npm run dev # 監聽並且編譯項目
按照要求用命令:npm install wepy-cli -g 安裝框架,結果安裝完成后,wepy -v 后的版本是 2.1.0。
繼續: npm install 安裝依賴包的時候報錯,忘記截圖了,反正大概意思是:用2.x版本運行1.x版本
沒辦法,只能卸載 wepy-cli,重新裝指定版本
先用的命令卸載,但是沒起作用,只好去 AppData 的 npm 里直接刪掉,然后重新安裝1.7.3版本:
//查看版本 npm ls -g --depth=0 //卸載 wepy-cli npm uninstall -g wepy-cli //安裝特定版本 @1.7.3 npm install -g wepy-cli@1.7.3
然后運行:npm run dev
提示如圖:

按照操作提示,輸入:npm install wepy --save
然后就提示個:

再次運行:npm run dev 命令,還是報上面一樣的問題。頭大了。。。
百度找了半天,發現了一個類似的問題:
在某個項目內npm install時,老是報以下錯誤:
npm ERR! code EINTEGRITY npm ERR! sha1-7Qoe24fAXU2xA3xfj0g9ijtfCCU= integrity checksum failed when using sha1: wanted sha1-7Qoe24fAXU2xA3xfj0g9ijtfCCU= but got sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== sha1-psC74fOPOqC5Ijjstv9Cw0TUE10=. (1511 bytes) npm ERR! A complete log of this run can be found in: npm ERR! /Users/acer/.npm/_logs/2019-03-09T14_42_43_549Z-debug.log 安裝 create-nuxt-app@latest 失敗,錯誤代碼:1
解決辦法:
給 npm set config registry 更改了源。改回官方的 npm 源就能解決問題:
運行命令:
npm config set registry https://registry.npmjs.org // 或者 npm config set registry https://registry.npm.taobao.org
提示如圖:

繼續百度,發現了一個類似問題:
運行 npm install 安裝項目依賴時報錯,異常信息如下:
npm ERR! code EINTEGRITY npm ERR! sha1-xxxxxx integrity checksum failed when using sha1: wanted sha1-xxxxxx but got sha512-xxxxxx sha1-yyyyyyy. (10379 bytes)
解決辦法:
方式一:直接刪除 package-lock.json 文件,重新執行 npm install 即可。
博主在嘗試了各種方式無果后,才使用了這種方式,親測可行。
package-lock.json官方文檔
馬后炮一下:其實不難發現異常信息中表達的信息就是文件的校驗值匹配不上。提到匹配,那一定是涉及到兩個東西之間的對比。在這個場景下,一方就是下載下來的文件的sha1值,另一方就是本地記錄的sha1值。那本地記錄的sha1值是記錄在哪里呢?通過全局搜索不難定位到 package-lock.json。簡單粗暴操作就是直接刪掉 package-lock.json 即可避免sha1校驗錯誤的問題。至於為什么這一次下載的文件的sha1值和上一次下載時記錄的sha1值不一致,這還有待考究。
(以下方式來源網絡,對我無效,這里也記錄下來,后來者可嘗試)
方式二:升級 npm,重新執行 npm install
升級npm npm install -g npm
安裝項目依賴 npm install
方式三:清緩存,重新執行 npm install
刪除項目下的 node_modules
刪除用戶緩存 C:\Users\{USER_NAME}\AppData\Roaming\ 下的 npm和npm-cache
刪除全局緩存 {NODE_HOME}/node_cache
驗證緩存 npm cache verify
安裝項目依賴 npm install
我用的方式一,然后又提示:

再次百度大神,找到解決方案:直接在當前目錄下進行node-sass 的數據源沒設置
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass
再次執行:
npm i
提示如圖:

說是發現了21個漏洞,按照提示運行:npm audit fix
再次 npm install

19個漏洞需要手動檢查,無法更新。。
不管他了,重新運行:npm run dev ,或者開啟實時編譯:wepy build --watch

OK,終於跑起來了,不容易。。。
記錄一下踩坑過程,以便有小伙伴遇到類似問題。
