IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> nvm ~ node版本管理工具 -> 正文阅读

[系统运维]nvm ~ node版本管理工具

一、安装 nvm

1. 卸载之前安装的 node

安装 nvm 前,要把之前安装的 node 卸载干净,详细卸载步骤,请移步这里

2. 安装 nvm

这里要注意,官方明确说明用 homebrew 安装是不支持的,那我们就不用 brew 安装,就安装官方介绍的安装。

?1. 检查主目录下有没有? .bash_profile?或 .zshrc 文件

bash 终端开发者检查有没有 ~/.bash_profile 文件,zsh 终端开发者检查有没有 ~/.zshrc 文件。

cd ~/
ls -a

查看有没有?.bash_profile 或?.zshrc 文件,没有则新建一个:

touch ~/.bash_profile
touch ~/.zshrc

2. 检查电脑上有没有安装 Git,没有则需要安装

3. 安装 nvm

  • 通过 curl 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
  • 通过 wget 安装
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

上面2个指令会自动 clone nvm 项目到?~/.nvm,然后把下面这段代码添加到正确的文件里?(~/.bash_profile,?~/.zshrc,?~/.profile, or?~/.bashrc),所以我们就不用手动去添加了。

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

4. 手动安装来处理步骤3失败的情况

手动安装就是把步骤3的2个命令自动会执行的2个步骤手动执行一遍:

1. git clone nvm项目到 ~/.nvm

cd ~/
git clone https://github.com/nvm-sh/nvm.git .nvm
cd ~/.nvm
git checkout v0.38.0 #切换到最新版本
. ./nvm.sh

2. 在正确的文件里添加下面这段代码

bash 终端添加在 ~/.bash_profile 文件里,zsh 终端添加在 ~/.zshrc 文件里(如果没有 ~/.zshrc 文件则先新建一个)。

注意macOS Catalina?系统(即版本 10.15 及之后)默认的?shell?是?zsh,不在是?bash

不添加下面这段代码的后果是:重启?bash?后会出现命令找不到的情况。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

添加完成后,重启终端输入 nvm --version 验证是否安装成功。

好了,到这里为止,nvm 就安装完成了!

二、zsh 终端也可以用 zsh-nvm 插件快捷安装 nvm

按照官方的步骤安装就可以了,zsh-nvm地址

?ps: 安装完了才发现还有这么一种方法,没有亲手实践过。

三、nvm 命令

  • nvm --help?展示帮助信息
  • nvm ls?列出所有已经安装的版本
  • nvm ls-remote?列出所有可安装的版本
  • nvm current?显示当前的版本

  • nvm install stable?安装最新稳定版

  • nvm install <version>?安装指定的版本,如?nvm install 8.14.0
  • nvm use <version>?切换使用指定的版本
  • nvm uninstall <version>?卸载指定的版本
  • nvm alias default <version>?设置默认?node?版本
  • nvm alias <name> <version>?给不同的版本号添加别名

  • nvm unalias <name>?删除已定义的别名

  • nvm reinstall-packages <version>?在当前版本 node 环境下,重新全局安装指定版本号的 npm 包

  • nvm deactivate?解除当前版本绑定。

nvm 默认是不能删除被设定为 default 版本的 node,特别是只安装了一个 node 的时候,这个时候我们需要先解除当前版本绑定,然后再使用?nvm uninstall <version>?删除

  • nvm --version?查看nvm版本
  • nvm run 4.2?--version?运行特定版本的 Node
  • nvm exec 4.2?node --version?使用特定node版本作为执行上下文

  • nvm unload shell下卸载nvm

  • nvm reinstall-packages?在当前版本node环境下,重新全局安装指定版本号的npm包

  • nvm install 5.0.0 --reinstall-packages-from=4.2?从4.2版本的node导入npm包到5.0.0node版本

四、node 的安装目录

node 的各个版本是安装在 ~/.nvm/versions/node/ 文件夹下,每个版本都是相互独立的,不同版本之间安装的 node 插件也是独立的,比如你在?v14.17.6 版本安装了 cnpm,你想在?v8.17.0 版本用的话你得重新安装一遍 cnpm。?

可以用 which node 查看现在用的是哪个版本的 node,或者直接在终端输入 node --version。

五、在项目中使用不同版本的 Node

在项目根目录中创建?.nvmrc?文件来指定要使用的 Node 版本。之后在项目目录中执行?nvm use?即可。.nvmrc?文件内容只需要遵守上文提到的语义化版本规则即可。另外还有个工具叫做?avn,可以自动化这个过程。

六、注意事项

  1. 安装全局 npm 包时前面不要加 sudo,例如 npm install -g grunt

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:39:24  更:2021-09-13 09:41:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:57:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码