npm install node-sass報錯問題的解決
主要是node-sass版本問題,他的版本看和node版本對應
0 安裝
可以去這裡找到v12的版本。(不要用12.0,可以用12.1)
https://npm.taobao.org/mirrors/node/
NPM
是隨同NodeJS
一起安裝的包管理工具。JavaScript-NPM類似於java-Maven。
命令列輸入node -v
檢查配置好了,配置npm的映象倉庫地址,再執
node -v
npm config set registry http://registry.npm.taobao.org/
1 版本資訊
去https://github.com/sass/npnode-sass 或者 https://github.com/sass/node-sass/releases 都可以看到node和node-sass對應的版本資訊
NodeJS | Supported node-sass version | Node Module |
---|---|---|
Node 15 | 5.0+ | 88 |
Node 14 | 4.14+ | 83 |
Node 13 | 4.13+, <5.0 | 79 |
Node 12 | 4.12+ | 72 |
Node 11 | 4.10+, <5.0 | 67 |
Node 10 | 4.9+ | 64 |
Node 8 | 4.5.3+, <5.0 | 57 |
Node <8 | <5.0 | <57 |
從https://github.com/sass/node-sass/releases?after=v4.12.0 也能看出4.9.2最多隻支援到node10。
2 正常命令
- 映象加速:
- npm config set registry http://registry.npm.taobao.org/
在專案專案下執行
# 指定node-sass版本,這句等價於修改package.json檔案了。
# 注意不要指定4.9.2了
npm install [email protected]
#安裝其他依賴:
npm install
# 啟動專案:
npm run dev
然後直接就可以執行起來了。如果沒驗證碼什麼的,是因為java專案沒有啟動
2.1 解除安裝殘留問題
你可能按著評論區或視訊的東西安裝試過了,要注意執行我上面程式碼時要先清依賴殘留,否則安裝不上
npm rebuild node-sass
npm uninstall node-sass
上面步驟等價於直接刪除node_modules,只不過node_modules是刪了全部下載的依賴包
執行成功案例:
PS F:\renren-fast-vue> npm install
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
up to date in 10.975s
2 packages are looking for funding
run `npm fund` for details
# warn先不用管
# 執行
npm run dev
# I Your application is running here: http://localhost:8001
瀏覽器輸入localhost:8001 就可以看到內容了,登入admin、 admin
我們還可以看到VS和IDEA聯動了
3 視訊評論區說法的錯誤
從上表看,如果你是node12,你得安裝node-sass4.12版本以上的,我不知道評論區為什麼4.9.2就可以了,應該是碰巧相容了。
另外評論區寫的映象地址https://npm.taobao.org/mirrors/node-sass/ ,你在瀏覽器中輸入後,你會發現他有4.9.4和5.0.0,卻沒有4.14+。
還有一種可能是,npm i
這種語法在映象中自動幫你檢測與node版本最匹配的npm依賴包版本號(有這種功能),所以我個人認為你改了4.9.2也沒有用。他根本不按照你寫的來,自動匹配到了你指定的映象裡的版本號,他想要4.12+,但是你指定的映象地址裡沒有,所以他就升級到使用5.0.0,這點是可以驗證的,你此時看你專案裡寫的版本號,你明明寫的4.9.2,他自動變成了^5.0.0。所以你寫9.0還是9.2都無所謂,因為根本不按你的來(注意安裝過的話先執行後文解除安裝操作)
綜上,其實我不建議你寫npm -i加連結的方式,原因如下:
安裝了5.0版本後,你可能按此方法也能正常使用了,但安裝時還是有個警告:
npm install
npm WARNsass-loader
@6.0.6 requires a peer of [email protected]^4.0.0 but none is installed. You must install peer dependencies yourself.這個應該說
sass-loader
@6.0.6需要低版本的sass,我除以為是升級sass-loader
@6.0.6即可,但是升級後報錯其他,可能是程式碼跟版本有關係,所以這是個很矛盾的配置所以我們被用i的方式讓他升級到版本5了,我們直接@4.14,這個版本相容node12和node14
3.1 python問題?
視訊評論區有人說得先安裝python,因為我本身已經安裝了anaconda,所以不確定影響與否。如果失敗可以嘗試安裝python3.0以上版本,並配置全域性變數。(根據人人開發文件介紹: node使用8.x版本,無需做任何改動,如果報錯,執行npm rebuild node-sass之後,然後重新install即可,無需安裝python)
3.2 npm i方式安裝?
評論區提供了這麼一種解決方式,這個我上面說過了,映象裡並沒有4.14版本,你使用了版本5的又造成sass-loader不匹配,升級sass-loader程式碼又報錯。所以這裡不適合用這個。
-
單獨安裝node-sass: npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
-
node和node-sass有版本對應關係。node12對應4.14的node-sass
-
i是install的縮寫
3.3 chromedriver問題?
按理說沒有這個問題
- npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
知識點:
1、npm i是什麼
npm -h
C:\Users\HAN>npm i -h
npm install (with no args, in package dir)
npm install [<@scope>/]<pkg>
npm install [<@scope>/]<pkg>@<tag>
npm install [<@scope>/]<pkg>@<version>
npm install [<@scope>/]<pkg>@<version range>
npm install <alias>@npm:<name>
npm install <folder>
npm install <tarball file>
npm install <tarball url>
npm install <git:// url>
npm install <github username>/<github project>
aliases: i, isntall, add
common options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]
你會發現npm是npm install的簡寫,但也有區別:
\1. 用npm i安裝的模組無法用npm uninstall刪除,用npm uninstall i才解除安裝掉 (這個說法我比較懷疑)
\2. npm i會幫助檢測與當前node版本最匹配的npm包版本號,並匹配出來相互依賴的npm包應該提升的版本號
\3. 部分npm包在當前node版本下無法使用,必須使用建議版本
\4. 安裝報錯時intall肯定會出現npm-debug.log 檔案,npm i不一定
我試過用npm i代替npm install,結果是4.9.0的下載下來了,但是報錯環境不匹配
指定安裝版本
修改package.json中 node-sass 版本,下載高版本node-sass,支援node10
1.1 手動下載node檔案,安裝 npm i node-sass --sass_binary_path=/{path}/win32-x64-64_binding.node
1.2 指定版本安裝:npm install [email protected] --save
package.json檔案的作用
https://blog.csdn.net/csm0912/article/details/90264026
阿里雲映象網站
npm:https://developer.aliyun.com/mirror/NPM
https://developer.aliyun.com/mirror/
關係
npm install sass-loader node-sass webpack --save-dev
必須安裝node-sass才能安裝sass-loader