误删博客Nodejs文件与博客迁移方法
今天通过本地服务器端口预览网页页面,清理了系统垃圾,可能因此系统误删除了一些博客文件,报错如下:
2024.2更新方法
下面记录了第一次解决方法思路,今天清理了垃圾重现了故障,捋了一下思路实际上不需要做博客迁移,源文件夹就能完成修复。
在运行rm -rf node_modules之前,备份footer文件!备份footer文件!
既然Git bash是无效的,那么直接使用powershell运行
1
npx npm install --force
安装完成,故障解决。把备份的footer文件替换掉新的footer文件,当然如果有更多的node.js文件,都要备份。
既然有了几分钟能修好的方法,那就查看一下究竟是删除了哪些文件让环境失效了。
原来是电脑管家把Node.js缓存都当成是VsCode缓存了,下次不要勾选这个即可。
无效方法
根据建议输入命令没有效果,只显示了npm错误日志信息。怀疑npm缓存文件带来的:
- 删除博客根目录下node_modules文件夹、AppData-cache文件夹
- 考虑到当前npm为9.5版本,有可能版本已经不适应博客框架,升级版本。
以上均无效,得到故障依旧。
博客迁移
为了防止对原来配置文件造成污染,新建一个文件夹,拷贝网站配置实现对文件的恢复。该方法同样适合在新电脑上迁移网站,但是还要对Git仓库进行配置(用户文件密钥等)。
1. 检测基本环境
1 | node -v |
2. 重装框架
1 | npm install -g hexo-cli |
安装后如若出现Command not found:是因为环境变量暂时不可用,bash无法访问到内部模块资源,使用Powershell代替。shift+右键选择,每个命令需要加上npx。
3. 初始化框架
1 | npx hexo init |
4.测试框架
1 | npx hexo s |
如果出现正常页面,说明框架工作就绪,文件问题已经解决,接下来就是把网站配置文件配置到这个文件夹。
5. 配置
必须的文件是:
配置文件(_config.yml)
主题配置文件(_config.butterfly.yml)
source
scaffolds(文章模版)
themes(主题)
.gitignore(限定在 push 时那些文件可以忽略) 包文件(package.json)(注意包文件不是直接复制)
.ssh(密钥文件) // 可选,此文件不备份的话,如果新环境没配置 Git,在配置时需要重新生成新的密钥。
在你删除node_modules时,先拷贝一份footer.pug(存储页脚配置)
可放弃的文件是:
.deploy_git(部署自动生成)
node_modules(编译自动生成)
public(编译自动生成)
db.json(数据库文件,自动生成)
6.安装
根据package.json展示的软件包,安装对应的依赖保证配置运转正常。
1
2
3
4
5
6
7
8
9
10
11
12npx npm install xxx
/*******mypackage*****************
"hexo-renderer-mathjax": "^0.6.0",
"hexo-renderer-pandoc": "^0.4.0",
"hexo-renderer-pug": "^3.0.0",
"hexo-theme-butterfly": "^4.9.0",
"hexo-tag-aplayer""^3.0.4",
"hexo-deployer-git": "^4.0.0",
"hexo-filter-mathjax": "^0.9.0",
***********************/
拷贝完毕,网站应该恢复正常。
7. 环境变量设置
这一步是为了正常使用git bash,毕竟比powershell略为方便。
在系统环境变量中添加框架存储路径,一般是: C:
这个路径不受node、npm安装路径的影响。
参考: https://www.jianshu.com/p/ca87dd7b9e00
https://marlous.github.io/2018/07/16/Hexo-%E5%8D%9A%E5%AE%A2%E8%BF%81%E7%A7%BB%E9%87%8D%E6%96%B0%E9%83%A8%E7%BD%B2/