Nvm教程
因为某些原因博猪的电脑GG了,SO,现在电脑好了,,,虽然还有某些无关痛痒的问题存在,但是还是够博猪继续折腾了,老样子重装电脑后第一部配置相关环境变量,然后安装软件。。。。
当一切都OK的时候,博猪浏览自己的博客的时候发现一些问题:
- ==控制台有很多错误,这个对于我这个死肥处女座来说简直不可忍受==
- 复制、博猪特意放网抑云的歌曲、图片放大等效果失效了
- 博客部署的时候部署不了了,或者说经常部署失败
- 。。。。。。。。。。。
OK,博猪简单说一下原因吧,原因很简单,由于博猪本次装机后对应的node版本使用的是最新的LTS版本,而node有没有相关的版本解决问题,所以我安装的时候默认安装的模块会是最新的,而最近的hexo和node有冲突,so,就导致本地可以运行,而使用相关功能的时候就有问题了。
so,很不幸,本文就由此出现了。
前景介绍
在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。
nvm 应运而生,nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果需要管理 Windows 下的 node,官方推荐使用 nvmw 或 nvm-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,否则会发生冲突。然后下载 * 最新安装包,直接安装即可。*
选择nvm安装路径
选择node环境变量文件夹(注意:一定要是空文件夹或者不存在的文件夹,安装时会自动创建,默认是一个快捷方式,即软连接)
安装完毕,打开命令行看是否安装成功
如果出现: nvm command is not defined 。表示你的全局环境变量没有配置或者配置出错了
如果环境变量都配置好了,还是nvm command is not defined ,这个时候建议重启vscode 或者重启电脑。
更改下载源
找到nvm程序所在路径,例如博猪安装路径:D:\LenovoSoftstore\Install\nvm
,末尾添加以下内容:
1 |
|
nvm基本使用
1 |
|
使用案例
下载指定node版本
本文模拟两个版本node,一个版本较低,一个版本较高
1 |
|
这时候我们看nvm对应的按照目录,这时候我们会发现,我们下载的两个版本的node已经下载好了。
使用指定版本node
由于博猪hexo指定的node版本必须大于等于12,最新版本node还不支持,所以博猪索性下载了一个最新版本的12
1 |
|
安装hexo-cli
配置环境变量
1 |
|
这时候我们发现,全局node命令是使用不了的,这时候我们需要配置一下环境变量。
我们发现安装nvm时自动给我们配置两个环境变量,一个nvm软件的,一个node软连接使用的,这是我们需要配置对应的全局变量,即在Path
中配置node_global
配置完成后我们再次使用上述命令,发现可以使用了
使用node全局命令
使用hexo命令部署博客
1 |
|
登录博客再次查看相关失效功能
完美,我的快乐又回来了。