關於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下載依賴包以後,進行如上述操作也是可行的。