Hexo-Mac下再次搭建hexo,版本升级的坑
去年开始接触hexo搭建个站,刚开始的时候各种修改theme、添加widget,过了那个新鲜劲也就一路写文了,无它。
进来逛论坛发现hexo已经升级到3.x版本了,我还停留在2.x的时代,于是乎更愿意体验更新的东西,开始升级,也怪手贱,就像顺便吧node也升级了吧,从之前的0.10.x升到最新的0.12.x,node升级一帆风顺,然后再安装hexo就遇坑了,好像是node-gyp缓存啥的本地路径,每次安装hexo还去寻找旧的版本,就这么坑了好会儿。
最终决定全部推翻重来,把node和hexo完全卸载,这次使用nvm的形式安装node,这样方便以后的版本升级管理,流程整理如下:
0.卸载node
新建如uninstall_node.sh文件,内容修改如下:1
2
3
4
5
6
7
8#!/bin/bash
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
/usr/local/lib/node_modules \
/var/db/receipts/org.nodejs.*
赋予权限1
chmod 777 uninstall_node.sh
然后拖到终端执行,等一会儿大概一分钟左右,卸载完成
1.安装nvm
nvm(Node Version Manager)作为node版本管理,可以更方便的进行版本更新,保持环境清洁。1
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
2.安装node
使用nvm安装node,这里安装的是0.12版本。1
$ nvm install 0.12
3.安装hexo
npm全称Node Package Manager,如果你熟悉ruby的gem,Python的PyPL、setuptools,PHP的pear,那么你就知道npm的作用是什么了。没错,它就是Nodejs的包管理器。
使用npm安装hexo3.x版本,一句话搞定。1
$ sudo npm install -g hexo-cli
常见问题1:
1 | { [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' } |
当hexo s或一些列操作,可能会出现以上这种提示,虽然不耽误服务器运行,但是作为轻度强迫症患者,这忍不了。
解决方案:
1 | $ npm install hexo --no-optional |
常见问题2:
安装完node和hexo之后,当时终端运行很成功,但是关掉一次之后再次node,竟然提示command not found,这找谁说理去。
每次启动terminal都能找到node呢?现在每次我都需要手动nvm use 0.12?
解决方案:
如下只是暂时解决问题,下载再打开终端又not found了。1
$ nvm use 0.12
这才是终极解决方案。1
$ nvm alias default 0.12
或1
$ nvm alias default stable