前言

前端开发项目一般情况下都少不了需要安装node。或者换新电脑的时候,这些环境都得安装。
但是安装过程并不都是一帆风顺的,而且node版本引发的问题也很多(主要是Windows环境下node与node-sass之间的版本不对应)。
本文特此记录,以便以后查看。

安装node

node安装包下载地址

注:国内需翻墙,不然下载很慢。


搜索选择你需要的版本,点击 downloads


Windows选择msi文件即可,下载完成之后可双击进行傻瓜式安装即可。

安装完成之后可以在命令行输入 node 或者 node -v 进行验证是否安装成功。

node版本问题

一般情况下不提倡直接安装最新版本node,有很多老项目会运行不了,即下载不了依赖。

当然了,如果你只负责一个新项目,安装最新的也是没问题的。

背景

在实际开发时,往往不止一个项目需要开发。这时就会出现node版本的问题。

在Vue2的时代,一般情况下,node版本往往在 14.xx.xx 就够用了(太高的版本会有问题)。

但是 Vue3+Vite 的新项目一般node版本都是比较新的。

这时就不可避免的需要使用多个版本的node。
当然你也可以把老项目的node版本升上去,但是随之而来的一些附带问题一定要解决,比如sass语法可能会有变化。

利用nvm切换node版本

nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看。。。等等,与npm不同的是,npm是依赖包的管理工具。

卸载已安装到全局的 node/npm (mac环境)

如果之前是从官网下载的安装包,运行后会自动安装在全局目录,其中
node 命令在 /usr/local/bin/node
npm 命令在 /usr/local/lib/node_modules/npm

安装 nvm 之前最好先卸载已安装的 node 和全局 node 模块:

npm ls -g --depth=0 #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装sudo rm -rf /usr/local/lib/node_modules #删除全局 node_modules 目录
sudo rm /usr/local/bin/node #删除 node
cd  /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #删除全局 node 模块注册的软链

安装nvm

nvm下载链接

Mac环境:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

配置文件

在nvm的安装路径里找到setting文件并加上下面两句

nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/


Mac环境

安装完成后请重新打开终端环境,Mac 下推荐使用 oh-my-zsh 代替默认的 bash shell。
使用国内镜像快速安装node:
建议把环境变量 NVM_NODEJS_ORG_MIRROR 加入到 .bash_profile 文件中:

# nvm
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

验证是否安装成功

cmd下输入nvm,成功后如下图:

利用nvm安装node

查看所有可用的node版本

命令: nvm list available 或者 nvm ls-remote


比如我需要下载 14.19.2 和 16.17.1

nvm install 14.19.2
nvm install 16.17.1

查看下载的所有node版本

nvm list或者 nvm ls

使用/切换下载的node版本

nvm use 14.19.2

如果出现下面这种情况可以用管理员身份来打开命令行窗口。

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,如果不设置的默认是
  • ttps://nodejs.org/dist/
  • nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是:
  • ttps://github.com/npm/npm/archive/.
  • nvm uninstall 卸载制定的版本
  • nvm use [version] [arch] 切换制定的node版本和位数
  • nvm root [path] 设置和查看root路径

node安装以及nvm管理node版本相关推荐

  1. 使用nvm管理node版本,npm安装失败解决方法

    原因:项目太多,且对node版本要求不一,因此选择用nvm管理node版本 步骤: 一.卸载已安装的node版本(有安装过node) node -v //查询node版本,有证明有安装node whe ...

  2. nvm管理node版本的使用方法和常用指令

    简介 nvm可以管理nodeJS的版本,在一台电脑需要适配多个项目的nodeJS运行环境时使用nvm来管理nodeJS的版本就会更方便高效. 安装nvm 安装包链接: 点击解压安装包 安装前记得先卸载 ...

  3. mac使用nvm管理node版本

    nvm 管理多版本node install brew 官网直接下载 打开终端输入下列命令 /bin/bash -c "$(curl -fsSL https://raw.githubuserc ...

  4. 通过nvm管理node版本

    通过nvm管理node版本 通过nvm管理node版本 前端在日常工作中需要管理多个vue项目,但是在npm install的时候会发生node_modules依赖之间的版本冲突,导致前端项目无法充公 ...

  5. nvm管理node版本 node/npm不是内部或外部命令,也不是可运行的程序

    最近,有新老项目一起开发,node版本太高,老项目起不来:node版本太低,新项目还搭不起来-所以,一个nvm就显得很有必要了.这几个坑掉的,摔的我差点起不来- 废话少说就是: 用管理员身份运行.ex ...

  6. 带你使用nvm管理node版本以及环境变量配置

    有时候使用nvm管理node会发现无法使用node或npm,主要原因是环境变量没有配置成功,或者没有指向正确的位置 环境变量中要配置 NVM_HOME 这个地址是nvm的安装目录 NVM_SYMLIN ...

  7. mac 系统下nvm管理node安装遇到的问题

    入职新公司架构与技术攻关组,压力超大.基于node.js架构公司基础前端框架,由于本人无知一下子把自己电脑(mac)中的node升级到6.x,但公司需要的node版本是5.x,所以要换回来,删除又麻烦 ...

  8. 你还不知道用 nvm 管理 node 吗

    你还不知道用 nvm 管理 node 吗 背景 一个同事让我帮他看看项目打包报错的问题,后来经测试,发现是他那边 node 版本太高导致的,然后他说降低版本需要卸载,就给他安利了一波 nvm. nvm ...

  9. mac安装nvm管理多版本node环境

    检查环境 node -v 检查本地是否已经安装了node环境,如果已经安装的话,需要先卸载掉当前Node 这里显示没有安装Node 安装 命令行安装 点击查看安装命令 打开终端执行 curl -o- ...

最新文章

  1. python 时区转换
  2. 数据库表DML不了 可能是被锁了
  3. SAP ABAP SQL的execution plan和cache
  4. 10.2829(NOIP模拟修正总结)
  5. 微信小程序获取二维码中URL中带的参数
  6. ionic3 生命周期
  7. cmd命令关闭占用程序的端口
  8. 电子技术基础数字部分第六版_知识速递 | 数字电子技术基础知识要点
  9. 病毒入侵:全靠分布式 Gossip 协议
  10. 原生js与css3实现简单翻页动画
  11. 20组免费的Photoshop渐变效果素材
  12. 我所知道的专业搜索引擎
  13. AE 或PR等软件载入素材时,无法访问网络驱动器资源的问题
  14. 数据分析——用户流失分析
  15. 微信小程序之手机号快速注册
  16. 大数据产业链包括哪几个环节,具体包含哪些内容
  17. antd菜单栏与react-router刷新页面不跳转
  18. 如何下载网页上的音乐?不用注册!不用会员!不用播放器!
  19. 计算机高级工考试题库2018,080720 自考软件工程:07163高级数据库技术历年真题及答案 2018年 2017年 2019年真题和答案...
  20. 【lssvm回归预测】基于遗传算法优化最小二乘支持向量机GA-lssvm实现数据回归预测附matlab代码

热门文章

  1. Android 统计流量数据
  2. BT Dongle设计介绍
  3. 使用Cglib的BeanCopier实现Bean的拷贝
  4. http://www.cnblogs.com/tornadomeet/archive/2012/05/24/2515980.html
  5. java for循环 条件_Java for循环(十三)
  6. 计算机中ram和rom的区别是什么意思,Rom容量是什么意思?和Ram容量有什么区别?...
  7. 使用 Java 8 语言功能
  8. 深度学习+pytorch实战Kaggle比赛(一)——房价预测
  9. Python环境的安装和配置
  10. 知识分享·NLP中一些有趣的trick