mac切换node版本

Mac 上切换 node 版本总结

背景

在做项目的时候,往往会遇到老项目没有升级的问题,node环境版本比较低,自己电脑安装或者新项目安装了最新版本的 node 环境,那么既要支持老版本的使用也要支持新版本那么怎么办呢?

Mac 提供了切换node版本的办法

nvm
n
首先介绍 nvm
nvm 安装
brew install nvm
安装成功之后,还不能直接使用nvm命令,需要进行以下配置,将以下命令复制到终端执行:
echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_profile
修改之后,需要重新定向来源,复制以下命令并执行:
. ~/.bash_profile
通过 nvm ls-remote 查看 node 所有版本
    v16.7.0
    v16.8.0
    v16.9.0
    v16.9.1
    v16.10.0
    v16.11.0
    v16.11.1
    v16.12.0
    v16.13.0   (LTS: Gallium)
    v16.13.1   (Latest LTS: Gallium) // 当前稳定版本
    v17.0.0
    v17.0.1
    v17.1.0
    v17.2.0
    v17.3.0
nvm install xx.xx.xx (版本号) 安装指定版本 node
nvm install 17.3.0
安装成功后 nvm ls 可以查看已经安装到本地的node版本

nvm ls
nvm use node 使用本地最新node环境
nvm use 17.3.0 指定版本node环境
nvm 常用命令
nvm list 查看已经安装的版本
nvm list installed 查看已经安装的版本
nvm list available 查看网络可以安装的版本
nvm version 查看当前的版本
nvm install 安装最新版本nvm
nvm use ## 切换使用指定的版本node
nvm ls 列出所有版本
nvm current显示当前版本
nvm alias ## 给不同的版本号添加别名
nvm unalias ## 删除已定义的别名
nvm reinstall-packages ## 在当前版本node环境下,重新全局安装指定版本号的npm包
nvm on 打开nodejs控制
nvm off 关闭nodejs控制
nvm proxy 查看设置与代理
nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/
nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.
nvm uninstall 卸载制定的版本
nvm use [version] [arch] 切换制定的node版本和位数
nvm root [path] 设置和查看root路径

注:nvm 只能查看和切换 通过nvm 安装的 node 环境,通过其他方式安装的node 不能查看

安装成功后 nvm 可能存在问题

nvm 安装后存在 -bash: nvm: command not found

解决办法:

找到 nvm 目录 可能安装在 /usr/local/Cellar 也可能 .vnm

编辑 .bash_profile 文件

vim ~/.bash_profile

目录 /usr/local/Cellar 添加

export NVM_DIR="/usr/local/Cellar/nvm/版本号"

[ -s "KaTeX parse error: Expected 'EOF', got '&' at position 19: ..._DIR/nvm.sh" ] &̲& . "NVM_DIR/nvm.sh" # This loads nvm

目录 .nvm

export NVM_DIR=" H O M E / . n v m " [ − s " HOME/.nvm" [ -s " HOME/.nvm"[−s"NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

2)配置 .zshrc 文件

打开.zshrc文件

open ~/.zshrc

添加配置

export NVM_DIR=~/.nvm

[ -s "KaTeX parse error: Expected 'EOF', got '&' at position 19: ..._DIR/nvm.sh" ] &̲& . "NVM_DIR/nvm.sh"

保存配置后在终端执行

source ~/.zshrc
n 切换node
安装n
sudo npm i -g n
安装成功后查看版本
可以通过 n help 查看所有命令
n -V
查看所有 node 版本
n lsr // 查看最进 20 个版本
n lsr --all // 查看所有版本
安装指定版本 node
n xx.xx.x (xx.xx.x 为要安装的版本号)
安装最新版本
n lastest
安装最新稳定版
n stable
切换node版本(输入命令后上下键盘选择确认)
n
删除某个版本
n rm xx.xx.x
使用某个版本来运行脚本
n use xx.xx.x a.js

注: n 也是只能查看和切换通过n 安装的 node,其他方式安装的node 不能进行切换

推荐使用 n 的方式来管理 node 版本, 简单没有复杂配置

相关推荐
滚雪球~5 小时前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语5 小时前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
m0_748234526 小时前
前端Vue3字体优化三部曲(webFont、font-spider、spa-font-spider-webpack-plugin)
前端·webpack·node.js
丰云14 小时前
一个简单封装的的nodejs缓存对象
缓存·node.js
泰伦闲鱼14 小时前
nestjs:GET REQUEST 缓存问题
服务器·前端·缓存·node.js·nestjs
敲啊敲952715 小时前
5.npm包
前端·npm·node.js
j喬乔16 小时前
Node导入不了命名函数?记一次Bug的探索
typescript·node.js
z千鑫18 小时前
【前端】入门指南:Vue中使用Node.js进行数据库CRUD操作的详细步骤
前端·vue.js·node.js
小马哥编程1 天前
原型链(Prototype Chain)入门
css·vue.js·chrome·node.js·原型模式·chrome devtools
蜜獾云1 天前
npm淘宝镜像
前端·npm·node.js