最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mac環(huán)境下用戶對(duì)于不同前端項(xiàng)目自動(dòng)配置node版本

 更新時(shí)間:2026年03月21日 15:03:06   作者:大帥子  
在實(shí)際項(xiàng)目開發(fā)中,不同的項(xiàng)目我們往往需要用到不同版本的node做支持,并且需要根據(jù)項(xiàng)目需要切換,這篇文章主要介紹了Mac環(huán)境下用戶對(duì)于不同前端項(xiàng)目自動(dòng)配置node版本的相關(guān)資料,需要的朋友可以參考下

作為前端開發(fā)者,你是否遇到過這樣的困境:A項(xiàng)目依賴Node v16,B項(xiàng)目卻要求Node v18,全局切換版本時(shí)各種報(bào)錯(cuò),甚至導(dǎo)致項(xiàng)目無法運(yùn)行?在Mac環(huán)境下,nvm(Node Version Manager) 就是解決這類問題的終極方案——它能讓你在同一臺(tái)設(shè)備上輕松管理多個(gè)Node版本,實(shí)現(xiàn)項(xiàng)目級(jí)版本隔離,徹底告別版本沖突煩惱。本文就為你詳解nvm的核心價(jià)值、完整安裝流程、高頻使用技巧及避坑指南。

需要使用的到的工具

brew
#
nvm 

完整安裝:從環(huán)境清理到配置生效

安裝nvm前需先清理已有的全局Node(避免版本沖突),全程通過終端指令完成,新手也能輕松跟上。

1. 前置步驟:清理全局Node殘留

如果之前通過官網(wǎng)安裝包、brew等方式裝過Node,務(wù)必先卸載干凈。打開終端,依次執(zhí)行以下指令:

# 1. 卸載brew安裝的Node(若用brew安裝過)
brew uninstall node --force

# 2. 清理系統(tǒng)殘留的Node文件
sudo rm -rf /usr/local/{bin/{node,npm,npx},lib/node_modules/npm,lib/node,share/man/*/node.*}

# 3. 驗(yàn)證清理結(jié)果(無輸出則表示清理成功)
node -v
npm -v

2. 安裝nvm本體(官方腳本最可靠)

推薦使用nvm官方穩(wěn)定版腳本安裝,避免最新版的兼容性問題。終端執(zhí)行以下指令(二選一即可):

# 方式1:用curl安裝(推薦,Mac默認(rèn)自帶)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 方式2:用wget安裝(若curl失敗,先執(zhí)行brew install wget安裝)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

安裝完成后,腳本會(huì)自動(dòng)將nvm的配置信息寫入終端配置文件(.zshrc或.bashrc),但需要手動(dòng)讓配置生效。

3. 終端環(huán)境配置(關(guān)鍵步驟,必做)

Mac默認(rèn)終端是zsh,需確保nvm指令能被終端識(shí)別。執(zhí)行以下操作:

# 1. 打開zsh配置文件
open ~/.zshrc

# 2. 在文件末尾添加以下內(nèi)容(若已存在則跳過)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # 加載nvm核心腳本
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  # 啟用指令補(bǔ)全

# 3. 保存文件后,讓配置生效
source ~/.zshrc

# 4. 驗(yàn)證安裝(輸出nvm版本號(hào)則成功,如0.39.7)
nvm --version

如果你的終端是bash(非默認(rèn)),只需將上述指令中的".zshrc"替換為".bashrc"即可。

nvm核心指令:從安裝到切換的高頻操作

掌握以下指令,就能滿足90%的開發(fā)需求。建議收藏本文,用到時(shí)隨時(shí)查閱。

1. 安裝指定Node版本

前端開發(fā)優(yōu)先選擇LTS(長期支持)版本,穩(wěn)定性更高。常用指令:

# 安裝最新LTS版本(推薦,如當(dāng)前的v20)
nvm install --lts

# 安裝具體版本(如項(xiàng)目要求的v18.18.0)
nvm install 18.18.0

# 安裝最新開發(fā)版(不推薦用于生產(chǎn)環(huán)境)
nvm install node

# 查看所有可安裝的Node版本
nvm ls-remote

2. 切換與設(shè)置Node版本

切換版本分為"臨時(shí)生效"和"永久生效",根據(jù)需求選擇:

# 臨時(shí)切換(僅當(dāng)前終端生效,關(guān)閉后恢復(fù)默認(rèn))
nvm use 18.18.0

# 切換到LTS版本
nvm use --lts

# 設(shè)置默認(rèn)版本(永久生效,新終端自動(dòng)使用)
nvm alias default 18.18.0

# 驗(yàn)證當(dāng)前使用的版本
node -v  # 輸出Node版本
npm -v   # 輸出配套的npm版本(無需單獨(dú)安裝)

3. 查看已安裝版本

快速了解本地Node版本情況,避免版本混亂:

# 列出所有已安裝版本(*標(biāo)記當(dāng)前使用的版本)
nvm ls

# 查看當(dāng)前激活的版本
nvm current

4. 卸載與清理

定期清理不用的版本,節(jié)省磁盤空間:

# 卸載指定版本(如過時(shí)的v16.20.0)
nvm uninstall 16.20.0

# 清理Node安裝緩存
nvm cache clear

核心需求:項(xiàng)目級(jí)自動(dòng)切換Node版本

這是nvm最實(shí)用的功能——進(jìn)入項(xiàng)目目錄自動(dòng)切換到項(xiàng)目所需的Node版本,無需手動(dòng)執(zhí)行指令。實(shí)現(xiàn)只需兩步:

1. 在項(xiàng)目根目錄創(chuàng)建.nvmrc文件

.nvmrc是nvm的版本配置文件,用于指定當(dāng)前項(xiàng)目的Node版本。進(jìn)入項(xiàng)目目錄后執(zhí)行:

# 方式1:指定具體版本(如v18.18.0)
echo "18.18.0" > .nvmrc

# 方式2:指定LTS別名(自動(dòng)匹配最新LTS版本,更靈活)
echo "lts/hydrogen" > .nvmrc

將該文件提交到Git倉庫,團(tuán)隊(duì)成員拉取代碼后即可同步版本要求。

2. 實(shí)現(xiàn)自動(dòng)切換(兩種方案)

方案1:手動(dòng)觸發(fā)(簡單易操作)

進(jìn)入項(xiàng)目目錄后,執(zhí)行以下指令,nvm會(huì)自動(dòng)讀取.nvmrc文件并切換版本:

nvm use

方案2:終端自動(dòng)切換(推薦,一勞永逸)

通過zsh鉤子實(shí)現(xiàn)"進(jìn)入目錄自動(dòng)執(zhí)行nvm use",無需手動(dòng)干預(yù)。配置步驟:

# 1. 打開zsh配置文件
open ~/.zshrc

# 2. 添加以下代碼到文件末尾
autoload -U add-zsh-hook
load-nvmrc() {
  local nvmrc_path
  nvmrc_path="$(nvm_find_nvmrc)"

  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version
    nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

    if [ "$nvmrc_node_version" = "N/A" ]; then
      nvm install  # 若版本未安裝,自動(dòng)安裝
    elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
      nvm use      # 若版本已安裝,自動(dòng)切換
    fi
  elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
    nvm use default  # 離開項(xiàng)目目錄,切回默認(rèn)版本
  fi
}
add-zsh-hook chpwd load-nvmrc  # 目錄切換時(shí)觸發(fā)
load-nvmrc  # 終端啟動(dòng)時(shí)觸發(fā)

# 3. 生效配置
source ~/.zshrc

配置完成后,只要進(jìn)入含.nvmrc的項(xiàng)目目錄,終端就會(huì)自動(dòng)完成版本安裝和切換,體驗(yàn)絲滑。

最后各位每每打開終端的時(shí)候,就會(huì)自動(dòng)執(zhí)行切換 nvm 的命令了

總結(jié) 

到此這篇關(guān)于Mac環(huán)境下用戶對(duì)于不同前端項(xiàng)目自動(dòng)配置node版本的文章就介紹到這了,更多相關(guān)Mac自動(dòng)配置node版本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Node.js?npm?安裝過程中EBUSY錯(cuò)誤的分析與解決方案

    Node.js?npm?安裝過程中EBUSY錯(cuò)誤的分析與解決方案

    使用?npm?進(jìn)行安裝是一個(gè)非常常見的操作,npm在安裝過程中可能出現(xiàn)EBUSY錯(cuò)誤,本文就來介紹一下如何解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-01-01
  • Nodejs 發(fā)送Post請(qǐng)求功能(發(fā)短信驗(yàn)證碼例子)

    Nodejs 發(fā)送Post請(qǐng)求功能(發(fā)短信驗(yàn)證碼例子)

    這篇文章主要介紹了Nodejs 發(fā)送Post請(qǐng)求功能(發(fā)短信驗(yàn)證碼例子),需要的朋友可以參考下
    2017-02-02
  • 詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)

    詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)

    這篇文章主要介紹了如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Node.js?queryString?解析和格式化網(wǎng)址查詢字符串工具使用

    Node.js?queryString?解析和格式化網(wǎng)址查詢字符串工具使用

    這篇文章主要為大家介紹了Node.js?queryString?解析和格式化網(wǎng)址查詢字符串工具使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • nodejs模塊系統(tǒng)源碼分析

    nodejs模塊系統(tǒng)源碼分析

    這篇文章主要介紹了nodejs模塊系統(tǒng)源碼分析,對(duì)nodejs感興趣的同學(xué),可以參考下
    2021-05-05
  • 淺析Node.js實(shí)現(xiàn)HTTP文件下載

    淺析Node.js實(shí)現(xiàn)HTTP文件下載

    本文介紹如何用Node.js來實(shí)現(xiàn)HTTP文件下載,文章以實(shí)例演示所以很詳細(xì),有需要的小伙伴們可以參考學(xué)習(xí)。
    2016-08-08
  • Node.js進(jìn)行串口通信的實(shí)現(xiàn)示例

    Node.js進(jìn)行串口通信的實(shí)現(xiàn)示例

    本文主要介紹了Node.js進(jìn)行串口通信的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • node.js做一個(gè)簡單的爬蟲案例教程

    node.js做一個(gè)簡單的爬蟲案例教程

    這篇文章主要介紹了node.js做一個(gè)簡單的爬蟲案例教程,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 如何在Express4.x中愉快地使用async的方法

    如何在Express4.x中愉快地使用async的方法

    這篇文章主要介紹了如何在Express4.x中愉快地使用async的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Nodejs技巧之Exceljs表格操作用法示例

    Nodejs技巧之Exceljs表格操作用法示例

    這篇文章主要介紹了Nodejs技巧之Exceljs表格操作用法,結(jié)合實(shí)例形式分析了node.js使用Exceljs操作Excel表格的載人、獲取、遍歷、輸出等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

承德市| 秦安县| 盐源县| 南澳县| 剑川县| 定安县| 翁源县| 白水县| 宣汉县| 万荣县| 嘉定区| 佛山市| 石渠县| 聂荣县| 乡宁县| 宝清县| 化州市| 大同县| 霍山县| 许昌市| 菏泽市| 巢湖市| 扶风县| 旬阳县| 紫阳县| 桑植县| 伊川县| 广灵县| 彭阳县| 乌鲁木齐市| 车致| 常州市| 庐江县| 饶河县| 清河县| 大兴区| 湾仔区| 天全县| 桑植县| 自治县| 亚东县|