当前位置: 首页 > news >正文

Linux 安装 NVM 并配置 npm 加速,开发 node 项目不再愁

由于需要在 linux 机器上完成 node 项目的构建,需要安装 nodejs, 想着不同项目需要使用不同的版本,索性安装一下 nvm 吧,因为之前在 windows 上已经安装过 nvm-windows, 应该很容易上手,我尝试了官网提供的几种方式,最后把我觉得最靠谱的方式分享给大家。

官网:GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

快速安装

官网提供了几种安装方式:

  • Install & Update by Script, 通过 sh 脚本安装

  • Git Install,通过 git 仓库安装

  • Manual Install, 手动安装

三种方式,其实本质就是把项目仓库下载到本地,配置相关的环境变量,执行一些脚本而已。

我将我安装的过程分享给大家,主要分 3 步:

  1. git clone 项目到目录

  2. git checkout 最新版本的 tag

  3. source 配置命令到 bash 上下文

也不一定非要 git clone ,直接下载解压也是可以的,本质是下载项目到某个目录。

我这里直接 clone 到 ~/.nvm 目录

# 可选,会自动创建目录
mkdir ~/.nvm
# 克隆到指定目录,也可以直接下载解压到目录也可以(访问限制的场景有用)
git clone git@github.com:nvm-sh/nvm.git ~/.nvm
export NVM_DIR="$HOME/.nvm"
cd $NVM_DIR
# 可选,用 master 分支也不是不可以
git checkout v0.40.1
# 使 nvm 命令加到 PATH 中,可以直接使用
. ./nvm.shnvm --version

上面的安装比较简单,记住只需要把项目下下来即可。

配置命令补全

为了下次再打开终端也能有 nvm 命令,需要配置一下 .bashrc 或者 /etc/profile 都可以,不然找不到 nvm 命令,缺少命令自动补全功能。

# 我这里直接添加到了用户下的 .bashrc 文件中
vim ~/.bashrc#...追加如下部分内容
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
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 命令
nvm --version

安装 nodejs

# 列出当前远程仓库支持的版本
nvm ls-remote
# 安装最新的 lts 版本
nvm install --lts
# 安装 14 版本
nvm install 14
# 安装 16 版本
nvm install 16
# 列出当前版本
nvm current
# 卸载指定版本
nvm uninstall 16

配置 npm 加速

配置 npm 加速比较简单: npmmirror 镜像站

npm config set registry https://registry.npmmirror.com

nvm 卸载

nvm 的卸载也比较简单,直接删除相关文件和配置项即可

# 清除 bash 终端命令补全(可选,把下面的 .bashrc 中的内容删掉,新终端里就不会有 nvm 相关命令了了)
nvm unload
# 删除目录
rm -rf $NVM_DIR
# 删掉之前配置的环境变量及 bash 补全的内容
vim ~/.bashrc
http://www.lryc.cn/news/456867.html

相关文章:

  • MySQL 多条件查询
  • 深度学习模型
  • Nexpose 6.6.271 发布下载,新增功能概览
  • SimpleRAG-v1.0.3:增加文件对话功能
  • 数学建模算法与应用 第7章 数理统计与方法
  • 【网络】洪水攻击防御指南
  • 应对Redis大Key挑战:从原理到实现
  • 网络安全的全面指南
  • 前端性能优化全面指南
  • JavaScript-API(倒计时的实现)
  • 【C++】——继承【上】
  • SpringBoot 整合 阿里云 OSS图片上传
  • 内核编译 设备驱动 驱动程序
  • 自由学习记录
  • 在 C# 中使用 LINQ 查询文件列表并找出最大文件
  • 数学建模算法与应用 第6章 微分方程建模及其求解方法
  • 数据库的相关知识
  • Python cachetools常用缓存算法汇总
  • java类和对象_成员变量方法修饰符局部变量this关键字-cnblog
  • 海信和TCL雷鸟及各大品牌智能电视测评
  • Linux 基本系统命令及其使用详解手册(六)
  • Oracle架构之段管理和区管理
  • mybatis-plus转换数据库json类型数据为java对象
  • Java | Leetcode Java题解之第467题环绕字符串中唯一的子字符串
  • 诺贝尔物理奖与化学奖彰显AI力量,探索智能新边界
  • 基于京东:HotKey实现自动缓存热点Key!!!
  • ★ 算法OJ题 ★ 二分查找算法
  • RTSP RTP RTCP SDP基础知识
  • 静态变量、变量作用域、命名空间
  • Android笔记(二十四)基于Compose组件的MVVM模式和MVI模式的实现