搭建Hexo执行 hexo 命令报错:ERROR Local hexo not found in xxx 二种解决方案
第一种情况
当输入hexo命令的时候会出现下面这张情况
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命令却是可以正常使用的
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的博客目录下面去执行命令,查看结果
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结尾的压缩文件
注意:选择合适版本,我使用的是ubuntu,所以选择linux包下载下来就是源码,解压之后就存在node和npm。无需重复编译。
解压
tar xvf node-v9.5.0-linux-x64.tar.xz
配置环境变量
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文件
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