1. 程式人生 > 其它 >關於git克隆到本地下載依賴報錯的相關問題

關於git克隆到本地下載依賴報錯的相關問題

這幾天老師交給我們一個專案,需要從gitee上克隆到本地,在多次嘗試下載依賴失敗後嘗試了多種辦法。

最後從老師那裡要來了原本的依賴包,又在此基礎上下載以來,執行後,依舊報錯,主要原因是

npm ERR! code 1
npm ERR! path E:\File\vue\ProjectTest\membership\project\node_modules\node-sass
npm ERR! command failed

可以簡單理解為node-sass的問題,那麼我們將node-sass進行解除安裝

npm uninstall node-sass

根據我們查詢的辦法:(19條訊息) npm安裝node-sass失敗解決辦法_kksw1121的部落格-CSDN部落格_node-sass

錯誤原因:
node-sass會依賴一個二進位制檔案binding.node,當下載node-sass時,會先下載這個檔案,如果本地沒有安裝過這個檔案,會在github下載該檔案並將其快取到全域性;一般下載的時候會因為網路的原因下載失敗,node-sass會嘗試在本地編譯binding.node,這個過程就需要用python。這時就會報錯說沒安裝python,如果binding.node下載成功的話就不會報這個錯

解決辦法:將npm源設定成淘寶映象源,將binding.node源也改為淘寶映象源
————————————————
版權宣告:本文為CSDN博主「kksw1121」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_43225030/article/details/106612859

我們對下載源進行設定:

npm config set registry https://registry.npm.taobao.org
npm config set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/

然後進行設定下載node-sass

TIPS:

即--dev(生產)
包名會被註冊在package.json的devDependencies裡面,僅在開發環境下存在的包用-D,如babel,sass-loader這些解析器
npm i -D sass

嘗試執行後依舊報錯,具體如下:

Syntax Error: SassError: expected selector.
    ╷
102 │ /deep/.el-submenu.is-opened .el-submenu__icon-arrow{ │ ^ ╵ E:\File\vue\ProjectTest\membership\project\src\views\myMenu.vue 102:1 root stylesheet

這就是最後一步了,按照它的提示,將所有/deep/替換為

::v-deep

上述步驟參考文章如下所示

因為寫樣式的時候,我在 < style > 標籤中寫了scoped 屬性,這樣導致我寫的樣式不能夠傳遞給子元件,所以我寫了一個 /deep/ 想要使用樣式穿透,讓子元件匹配上這個樣式,但是不行,報了圖片中的這個錯誤;

後來通過查資料發現,原來是我寫的 /deep/ 出了問題;

如果使用 less 對 css 做出預處理的話,使用 /deep/ 就可以完成樣式穿透的行為;

但是我使用的 scss 對 css 做出的預處理,所以不能夠使用 /deep/ 而應該使用 ::v-deep 才對,於是我便用 ::v-deep 替換了 /deep/ 就解決了這個問題。
————————————————
版權宣告:本文為CSDN博主「普通網友」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/m0_67391677/article/details/123352027

替換完成後執行成功

上述流程是在基於拿到原本的依賴包的基礎上進行的,經過測試發現即便沒有原本的依賴包,在克隆後的基礎上進行npm i下載依賴包以後,進行如上述操作也是可行的。