0%

node.js & Hexo 更新记录

还是老样子,网上的教程都是能省就省,小白真的很累。

node.js 升级

之前是手动下载安装包点鼠标安装的,这次升级发现以前为了避免c盘根目录权限问题装到了d盘,犹豫了半天还是卸载了,毕竟c盘和d盘做了彻底隔离,软件全装c盘,d盘只放静态文件,还留着一个会关联启动的node.js会很不爽,c盘根目录权限问题其实之前也已经解决了,就是找到git bash的快捷方式,打开属性,在兼容性一栏勾选上⌈以管理员身份启动⌋就好了。
找到的第一篇*升级指南说他使用的nvm比较简单,我也不知道是啥,还跟npm搞混了,powershell直接键入

powershell
1
nvm -v

结果unknown哈哈,不过正好node.js的软件选择界面有个选项让你选安装方式,下拉一看,真有nvm,再往下一看,咦!有chocolatery!这我不是刚装嘛,原来是包管理器啊,直接按照官网教程choco install nodejs --version="22.3.0",结果报错我日,说没有此版本,去掉版本号再试就行了,但是安装的是22.2.0版本,真的无语,node.js你这么专业的网站,22.3.0还没有在choco里通过,为什么官网安装代码要给22.3.0,对于普通小白又是一道坑。。。
装完以后尝试node -v, unknown命令,all right,环境变量里的node_path要改,改完有了。
尝试npm -v, 显示⌈无法加载文件C:...\nodejs\npm.ps1,该文件未进行数字签名⌋,吐了,我寻思,装choco的时候已经把执行策略改成Allsigned了呀,结果一搜,Allsigned的权限还是不够,需要改成remote,通过set-ExecutionPolicy RemoteSigned解决。
这里顺便Mark以下Powershell的执行策略:

Powershell执行策略参考出处
1
2
3
4
Restricted: 禁止运行任何脚本和配置文件。  
AllSigned :可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本。
RemoteSigned :可以运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名;不要求对已经运行和已在本地计算机编写的脚本进行数字签名。
Unrestricted :可以运行未签名脚本。(这个选项是非常危险的!!!非专业人士,请不要触碰哦!!!)

总算是正常了。。。
这里再推荐一篇*帖子, 安装完不要忘了修改npm的cache目录以方便管理,需要在nodejs文件夹下新建两个文件夹node_global和node_cache,然后:

1
2
3
npm config set prefix "C:\Program Files\nodejs\node_global"
npm config set cache "C:\Program Files\nodejs\node_cache"
npm install webpack -g #测试是否成功

hexo更新

参考*此篇hexo同好的帖子
以下命令已经都可以在git bash里执行,我是进入到blog目录,然后右键打开git bash运行的命令,已经不再是powershell

1
2
3
4
5
6
7
8
9
hexo version 
npm i hexo-cli -g #全局升级hexo-cli
npm install -g npm-check
npm-check #检查系统插件是否需要升级
npm install -g npm-upgrade
npm-upgrade #更新package.json
npm update -g #更新全局插件
npm update --save #更新系统插件
hexo version

npm-upgrade这步把我恶心到了,弹出五行选项:

1
2
3
4
5
6
 xxxxxxxxxxxxxxxxx*(use arrow keys)
>Yes
No
See Changelog
xxx
Finish process

我按上箭头把光标上移四行,然后按回车,结果tm的全部给我选了No,折腾半天,什么不动,直接回车,反而是Yes…
然后我以为npm-upgrade结束就好了呀,直接hexo version,还是没变!怎么都不行!又是折腾半天才搞懂,npm-upgrade只是更新package.json这个文件里的所有插件版本标识,并不是真的更新软件。。。还需要下面两行的npm update -gnpm update --save命令,执行完才算是全部更新完。。。
坑太多了呀!

尝试新版hexo里的multi-language功能

按网上的教程直接给我整出了FATAL: duplicated mapping key (37:1), 笑死,然后退回原设置,hexo clean都无法识别了,试了一下hexo version,欸,我hexo呢!哈哈哈笑死!什么离谱bug,下面一大串插件名称里只有hexo-cli了,hexo本体没了!. 关了git bash重启后在原来配置文件下hexo终于顺利运行,搞半天是因为以前的多语言教程老了,都是借助的第三方i18n那个国际化插件,跟新本hexo原生的multi-language配置方法不一样,导致冲突,但是新版的multi-language目前我也不是很会用,只是把按钮整出来了,然后也只能添加一个页面,难受。

后记

无聊过来写文章,本来是想弄个置顶的,挂上王小波的那段话:
⌈人在写作时,总是孤身一人,作品实际上是个人的独白,是一些发出的信。我觉得自己太缺少与人交流的机会—我相信,这是写严肃文学的人共同的体会。但是这个世界上除了有自己,还有别人,除了身边的人,还有整个人类。写作的意义,就在于与人交流。因为这个缘故,我一直在写。⌋
我也写不出什么严肃文学或者伤痕文学,我只是太缺少与人交流的机会哈哈,所以,我也得写。

-----------------------End-----------------------
好人一生平安