node.js & Hexo 更新记录

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

powershell
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:....ps1, 该文件未进行数字签名⌋,吐了,我寻思,装 choco 的时候已经把执行策略改成 Allsigned 了呀,结果一搜,Allsigned 的权限还是不够,需要改成 remote,通过 set-ExecutionPolicy RemoteSigned 解决。 这里顺便 Mark 以下 Powershell 的执行策略:
Powershell 执行策略参考出处
Restricted: 禁止运行任何脚本和配置文件。  
AllSigned :可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本。
RemoteSigned :可以运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名;不要求对已经运行和已在本地计算机编写的脚本进行数字签名。
Unrestricted :可以运行未签名脚本。(这个选项是非常危险的!!!非专业人士,请不要触碰哦!!!)
总算是正常了。。。 这里再推荐一篇
帖子, 安装完不要忘了修改npm的cache目录以方便管理,需要在nodejs文件夹下新建两个文件夹node_global和node_cache,然后:
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
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这步把我恶心到了,弹出五行选项:
 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 目前我也不是很会用,只是把按钮整出来了,然后也只能添加一个页面,难受。

后记

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