搭建Hexo执行 hexo 命令报错:ERROR Local hexo not found in xxx 二种解决方案

搭建Hexo执行 hexo 命令报错:ERROR Local hexo not found in xxx 二种解决方案

第一种情况

当输入hexo命令的时候会出现下面这张情况

1
2
3
root@:hexo_web# hexo -v
ERROR Local hexo not found in ~/share/Hexo/hexo_web
ERROR Try running: 'npm install hexo --save'

导致这个原因为在自己的博客文件夹中,.gitignore文件中添加了node_modules/,导致更新的时候,这个文件夹被忽略,没有被更新上去。

解决方案:

​ 1.cmd进入博客当前文件夹路径

​ 2.执行 npm install

​ 3.执行 hexo server

​ 4.执行成功后,再到博客下的git中执行 hexo 命令 发现可以执行成功。

第二种情况

首先是我是在网上找到的第一种方案,但是没有效果,所以就自己试着寻找一些蛛丝马迹

首先你在你的hexo目录下面使用hexo命令是不成功的

但是呢,当你退到上层目录的时候,hexo命令却是可以正常使用的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@:/home/share/Hexo/hexo_web# hexo -v
ERROR Local hexo not found in ~/share/Hexo/hexo_web
ERROR Try running: 'npm install hexo --save'
root@:/home/share/Hexo/hexo_web# cd ..
root@:/home/share/Hexo# hexo -v
hexo: 3.8.0
hexo-cli: 1.1.0
os: Linux 4.15.0-39-generic linux x64
http_parser: 2.8.0
node: 4.2.6 <================
v8: 6.8.275.32-node.36
uv: 1.23.2
zlib: 1.2.11
ares: 1.14.0
modules: 64
nghttp2: 1.34.0
napi: 3
openssl: 1.1.0i
icu: 62.1
unicode: 11.0
cldr: 33.1
tz: 2018e

我注意到有一个地方不太对,那就是node的版本是4.2.6,版本太老了。

所以我就试着更新node的版本,把node的版本更新到最新版10.13.0

更新之后我们再进入到hexo的博客目录下面去执行命令,查看结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
root@:/home/share/Hexo/hexo_web# hexo -v
hexo: 3.8.0
hexo-cli: 1.1.0
os: Linux 4.15.0-39-generic linux x64
http_parser: 2.8.0
node: 10.13.0 <==========================
v8: 6.8.275.32-node.36
uv: 1.23.2
zlib: 1.2.11
ares: 1.14.0
modules: 64
nghttp2: 1.34.0
napi: 3
openssl: 1.1.0i
icu: 62.1
unicode: 11.0
cldr: 33.1
tz: 2018e

附上手动更新node的方法

下载nodj二进制源码:xz结尾的压缩文件

node官网

注意:选择合适版本,我使用的是ubuntu,所以选择linux包下载下来就是源码,解压之后就存在node和npm。无需重复编译。

解压

1
tar xvf node-v9.5.0-linux-x64.tar.xz

配置环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vim /etc/profile

# 在底部添加
export NODE_HOME=/opt/nodejs/node-v11.1.0-linux-x64/bin
export PATH=$NODE_HOME:$PATH

#激活修改
source /etc/profile

# 验证
node -v
npm -v

# 如果全局安装pm2包,可以验证
pm2 list

那么我不是这么使用的,我是直接复制粘贴覆盖原来的node文件

1
2
3
4
5
6
7
8
9
10
root@:# which node
/usr/bin/node

# 到下载的最新node目录下面
# 将bin里面的node拷贝过去
root@:/opt/node-v10.13.0-linux-x64/bin# cp ./node /usr/bin/node

# 验证
root@:# node -v
v10.13.0