Hexo Nodejs 相关
文章目录
最近对博客进行了一些调整和优化,使用的 Hexo 是基于 Nodejs 的框架,在此记录其中的一些心得和才过的坑。
依赖库的升级
虽说依赖库完全不更新也不会导致可用性的问题,但更新往往能带来一些新的功能和速度上的提升。npm-check 可统一管理项目依赖,使用比较方便。安装命令如下:
|
|
更新依赖库分为全局依赖库和项目的依赖库,两者使用上的区别在于更新全局依赖需要加 -g 的参数,使用比较简单:
|
|
接着会出现一个简单的交互界面,根据提示进行即可。
Nodejs 多版本管理
不久前 Manjaro 自带的 Nodejs 版本升级到了 14,导致 hexo 在使用过程中总会出现一些警告。警告当然没有什么大不了,可是一旦部署就会报错,百度得知 hexo 暂时对最新的 Nodejs 支持有问题。没办法,只能使用低版本的 Nodejs 如 12、13 等。为了不破坏系统软件依赖,我选择配置多个 Nodejs 版本。
而说起 Nodejs 的多版本管理方案,就不得不提 n 和 nvm 这两种方案了。虽说都是多版本管理方案,可是实现方式完全不同,也有着各自的优缺点。
n
n 是是一个 npm 包,依赖于 Node 环境。首先安装 n :
|
|
n 预设了两种版本供我们使用,分别是 latest 和 stable,查看版本号:
|
|
可见 stable 的版本符合 hexo 的要求,使用一下命令安装:
|
|
当然 n 还能安装任意版本的 Nodejs,直接跟版本号即可。选择版本更加简单,直接运行 n 不加任何参数,会有一个交互的界面用于选择。
nvm
原本觉得只使用 n 就够了,可是我的 hexo 是同时部署在 win 和 linux 下的,n 在 win 下无法使用,无奈只能另寻他法。
与 n 不太一样,nvm 不需要预先安装 Nodejs,也就是说需要卸载已经存在的版本。Windows 版本的下载地址如下: nvm,有不需要安装的压缩包版本和安装包版本可供选择,我这里选择下载安装包;Manjaro 下直接无脑 yay,反正有 Aur,但安装后需要修改 .zshrc 或者 .bashrc,添加初始化 nvm 的条目,具体取决于使用的 shell 类型。
nvm 和 nvm-windows 的命令有一定的区别,但几条主要的命令是相同的。
安装指定的版本:
|
|
使用指定的版本:
|
|
查看已经安装的版本:
|
|
删除某个版本:
|
|
两者对比
两者作为 Nodejs 版本管理工具,有一下异同:
-
n 依赖 Nodejs,是一个 npm 包;nvm 不依赖 Nodejs。
-
n 不支持 Windows 环境,而 nvm 有 nvm-windows 可以支持 Windows。
-
nvm 每个环境的模块单独存储,而 n 所有环境共享模块。这意味着 nvm 需要占据更多的磁盘空间,各个环境隔离更加充分,库不会相互影响。
-
n 与 Nodejs 相互依赖,卸载时比较麻烦,至少在 Linux 下是这样的。
最终我还是选择使用 nvm。
文章作者 Josephine
上次更新 2020-06-06