Hexo博客及环境依赖包的正确升级方法

自从明月部署 Hexo 博客以来, Hexo 已经更新到了 3.8.0 了,其中内置的插件也跟进有所更新,今天在尝试更新 Hexo 主程序的时候发现仅仅使用 npm i hexo-cli -gnpm update 这两个命令来更新的话会有几个 Warn 提示出来,很明显这两个命令更新不正确,经过一番度娘、谷姐后终于算是找到了正确的 Hexo 博客及环境依赖包升级方法,于是马上分享到博客来,算是一次学习记录收藏吧!
首先通过npm i hexo-cli -gnpm update 更新后,使用 hexo version查看可以看到 Hexo 已经更新到了最新的 3.8.0 版了,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
hexo: 3.8.0
hexo-cli: 1.1.0
os: Linux 3.10.0-957.1.3.el7.x86_64 linux x64
node: 11.6.0
v8: 7.0.276.38-node.13
uv: 1.24.1
zlib: 1.2.11
ares: 1.15.0
modules: 67
nghttp2: 1.34.0
napi: 3
llhttp: 1.0.1
http_parser: 2.8.0
openssl: 1.1.0j
icu: 63.1
unicode: 11.0
cldr: 34.0
tz: 2018e

其实这两个命令更新并不完整的,正确的方法应该是:

npm-check检查更新

npm install -g npm-check
npm-check

npm-upgrade更新

npm install -g npm-upgrade
npm-upgrade

这时候会有一个选择菜单式的持续输出供你选择依赖包的更新与否,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Checking for outdated  dependencies for "/hexo.imydl.tech/package.json"...

New versions of active modules available:

hexo-deployer-git ^0.3.1 → ^1.0.0
hexo-generator-archive ^0.1.4 → ^0.1.5
hexo-generator-index ^0.2.0 → ^0.2.1
hexo-generator-seo-friendly-sitemap 0.0.210.0.22
hexo-renderer-ejs ^0.3.0 → ^0.3.1
hexo-renderer-marked ^0.3.0 → ^0.3.2
hexo-renderer-stylus ^0.3.1 → ^0.3.3
hexo-server ^0.2.0 → ^0.3.3

? Update "hexo-deployer-git" in package.json from ^0.3.1 to ^1.0.0? Yes

? Update "hexo-generator-archive" in package.json from ^0.1.4 to ^0.1.5? Yes

? Update "hexo-generator-index" in package.json from ^0.2.0 to ^0.2.1? Yes

? Update "hexo-generator-seo-friendly-sitemap" in package.json from 0.0.21 to 0.0.22? Yes

? Update "hexo-renderer-ejs" in package.json from ^0.3.0 to ^0.3.1? Yes

? Update "hexo-renderer-marked" in package.json from ^0.3.0 to ^0.3.2? Yes

? Update "hexo-renderer-stylus" in package.json from ^0.3.1 to ^0.3.3? Yes

? Update "hexo-server" in package.json from ^0.2.0 to ^0.3.3? Yes


These packages will be updated:

hexo-deployer-git ^0.3.1 → ^1.0.0
hexo-generator-archive ^0.1.4 → ^0.1.5
hexo-generator-index ^0.2.0 → ^0.2.1
hexo-generator-seo-friendly-sitemap 0.0.210.0.22
hexo-renderer-ejs ^0.3.0 → ^0.3.1
hexo-renderer-marked ^0.3.0 → ^0.3.2
hexo-renderer-stylus ^0.3.1 → ^0.3.3
hexo-server ^0.2.0 → ^0.3.3

? Update package.json? Yes

一路回车键或者输入 yes即可。

其中的 npm install 可以加上参数 -save ,这样

  • 会把依赖包安装到 node_modules 目录中
  • 会在package.json的dependencies属性下添加依赖包的名称和版本号
  • 之后运行npm install命令时,会自动安装依赖包到node_modules目录中

如果不加save参数的话,之后把X包安装到node_modules目录中,不会添加到 package.json 文件的 dependencies 属性中。

再查看hexo文件夹下面的 package.json 文件的 dependencies 属性,可以看到hexo的版本和依赖包已经更新了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": "3.8.0"
},
"dependencies": {
"hexo": "^3.8.0",
"hexo-abbrlink": "^2.0.5",
"hexo-deployer-git": "^1.0.0",
"hexo-generator-archive": "^0.1.5",
"hexo-generator-category": "^0.1.3",
"hexo-generator-feed": "^1.2.2",
"hexo-generator-index": "^0.2.1",
"hexo-generator-json-content": "^3.0.1",
"hexo-generator-searchdb": "^1.0.8",
"hexo-generator-seo-friendly-sitemap": "0.0.22",
"hexo-generator-tag": "^0.2.0",
"hexo-renderer-ejs": "^0.3.1",
"hexo-renderer-marked": "^0.3.2",
"hexo-renderer-stylus": "^0.3.3",
"hexo-server": "^0.3.3"
}
}

到此 Hexo博客和环境依赖包完美更新完成。

Hexo Update

明月登楼 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!