node-sass和sass-loader報錯解決方法


  由於公司項目比較多,每次被指派迭代一個新項目的時候都會下載對應的node module包,但是內網上存在的那些node module包,總是跑不起來。經過一些嘗試。得已解決。現在我把集中可能的情況分享出來,避免以后再次踩坑。

1、檢查node版本

  我是用的是nvm,首先貼上nvm常用命令:

  nvm install latest #安裝最新node

  nvm install 10.15.3 #安裝指定版本的node

  nvm list #查看已安裝的node

  nvm use 10.15.3 #切換到指定的node 版本

  首先 終端上 輸入node -v 查看node版本,有些老項目需要 node 8 才能運行。這時候我們就要切換版本;

  首先看看本地有哪些node 版本, nvm ls ;其次下載需要的node版本, nvm install 8.17.0,然年后就是切換版本 nvm use 8.17.0;

  再次 npm run serve 啟動服務。

2、 檢查node-sass和sass-loader版本

  這里的坑我屬實踩過好幾遍,上網查閱后發現node-sass和sass-loader還有版本沖突的情況:以下版本可以完美兼容

    "node-sass": "^4.14.1",  "sass-loader": "^7.3.1", // 親測node 版本v14.16.1完美兼容/10.12.0也行

  操作步驟: 1、npm uninstall sass-loader 

        2、 npm install sass-loader@7.3.1

        3、npm uninstall node-sass

        4、 npm install node-sass@4.14.1

        5、再試一次 npm run serve

  提示:1、如果想要保險一點,可以先去node module 包里面刪除 sass-loder 和 node-sass 文件夾 ,再刪除  package.json 里面的 node-sass 和 sass-loder 。再執行上述操作。

     2、如果npm 下載過慢,可使用cnpm下載;終端輸入  npm install -g cnpm --registry=https://registry.npm.taobao.org  ,隨后cnpm便可以使用,使用方法和npm如出一轍。

 3、還有一種報錯:

  

  這種報錯window電腦上會出現,缺少python環境,而且不支持python3,我們需要下載python2安裝。

  為什么 node模塊會需要python環境呢?

    node-sass 編譯器是通過 C++ 實現的。

    在 Node.js 中,采用 gyp 構建工具進行構建 C++ 代碼,而 GYP 是基於 Python 2 開發的,所以需要 python,而且不支持 3。

    安裝好環境后,執行上面的操作就行了。


免責聲明!

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



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