Nvm教程

因为某些原因博猪的电脑GG了,SO,现在电脑好了,,,虽然还有某些无关痛痒的问题存在,但是还是够博猪继续折腾了,老样子重装电脑后第一部配置相关环境变量,然后安装软件。。。。

当一切都OK的时候,博猪浏览自己的博客的时候发现一些问题:

  • ==控制台有很多错误,这个对于我这个死肥处女座来说简直不可忍受==
  • 复制、博猪特意放网抑云的歌曲、图片放大等效果失效了
  • 博客部署的时候部署不了了,或者说经常部署失败
  • 。。。。。。。。。。。

OK,博猪简单说一下原因吧,原因很简单,由于博猪本次装机后对应的node版本使用的是最新的LTS版本,而node有没有相关的版本解决问题,所以我安装的时候默认安装的模块会是最新的,而最近的hexo和node有冲突,so,就导致本地可以运行,而使用相关功能的时候就有问题了。

so,很不幸,本文就由此出现了。

前景介绍

在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。

nvm 应运而生,nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果需要管理 Windows 下的 node,官方推荐使用 nvmwnvm-windows。不过,nvm-windows 并不是 nvm 的简单移植,他们也没有任何关系。但下面介绍的所有命令,都可以在 nvm-windows 中运行。

nvm 与 n 的区别

node 版本管理工具还有一个是 TJ大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。

由于 npm 安装的模块路径均为 /usr/local/lib/node_modules,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。

Windows 安装

由于博猪使用的是windows系统,所以博猪着重介绍windows安装,Mac、Linux安装请自行百度。

首先最重要的是:一定要卸载已安装的 NodeJS,否则会发生冲突。然后下载 ​​*​ 最新安装包,直接安装即可。*

image.png

选择nvm安装路径

image.png

选择node环境变量文件夹(注意:一定要是空文件夹或者不存在的文件夹,安装时会自动创建,默认是一个快捷方式,即软连接)

image.png

安装完毕,打开命令行看是否安装成功

image.png

如果出现: nvm command is not defined 。表示你的全局环境变量没有配置或者配置出错了

如果环境变量都配置好了,还是nvm command is not defined ,这个时候建议重启vscode 或者重启电脑。

更改下载源

找到nvm程序所在路径,例如博猪安装路径:D:\LenovoSoftstore\Install\nvm,末尾添加以下内容:

1
2
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

nvm基本使用

1
2
3
4
5
6
7
8
9
10
# 列出当前电脑下的Node.js的版本列表
nvm list
# 显示所有可以下载的版本
nvm list available
# 切换指定版本的node
nvm use [version]
# 安装指定版本的node
nvm install [version]
# 卸载指定版本的node
nvm uninstall [version]

使用案例

下载指定node版本

本文模拟两个版本node,一个版本较低,一个版本较高

1
2
nvm install 10.24.1
nvm install 12.22.12

image.png

这时候我们看nvm对应的按照目录,这时候我们会发现,我们下载的两个版本的node已经下载好了。

image.png

使用指定版本node

由于博猪hexo指定的node版本必须大于等于12,最新版本node还不支持,所以博猪索性下载了一个最新版本的12

1
nvm use 12.22.12

image.png

安装hexo-cli

image.png

配置环境变量

1
hexo c

这时候我们发现,全局node命令是使用不了的,这时候我们需要配置一下环境变量。

image.png

我们发现安装nvm时自动给我们配置两个环境变量,一个nvm软件的,一个node软连接使用的,这是我们需要配置对应的全局变量,即在Path中配置node_global

image.png

配置完成后我们再次使用上述命令,发现可以使用了

使用node全局命令

使用hexo命令部署博客

1
hexo g --d

image.png

登录博客再次查看相关失效功能

image.png

image.png

image.png

完美,我的快乐又回来了。


Nvm教程
https://github.com/yangxiangnanwill/yangxiangnanwill.github.io/2024/01/03/好好码代码吖/Node/Nvm教程/
作者
will
发布于
2024年1月3日
许可协议