升级Ghost的血泪历程
这么懒的一个人,实在是没想升级这个博客系统的,就算隔几天去ghost官网都能看到他们哭着嚎新版本又出来啦,有多么多么闪闪牛逼的功能,然并卵。
我就是这么懒,妈的,谁都别想安利我。
然而就在昨晚,我试图在一个二级域名上部署另一个node应用的时候,发现了严重的问题:去年部署ghost的时候,这狗日的必须用node0.1才能跑,高一点都不行,0.1这个版本真·太磕碜了,我猜任何新应用都没办法忍受这个low逼。好在最新的ghost可以运行4.2以上,5.0以下的node版本。没招了,先升级node,再升级ghost。
安装n来管理node版本
$npm install n
安装指定版本号
$n v4.2.4
然后把v4.2.4设置为默认node
$n
-----------------------
ο node/4.2.4
-----------------------
好的,新的node应用跑起来了,一切ok。
然后ghost开始不乐意了,疯狂的报错,场面极其惨烈。呵呵哒,忍无可忍,升级了,按照的官网链接。
http://support.ghost.org/how-to-upgrade/
大概到了
npm install --production
的时候,大崩塌开始了。 首先是这种
Error: EACCES, mkdir '/usr/local/lib/node_modules/coffee-script'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/coffee-script']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/coffee-script',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/coffee-script',
折腾许久,在stackoverflow上面找到了解决办法 http://stackoverflow.com/questions/18136746/npm-install-failed-with-cannot-run-in-wd
其实就是在package.json里面加入
"config": {
"unsafe-perm":true
}
然后运行
$npm install --unsafe-perm
ok,在我轻描淡写这个小问题之前,花了差不多四个小时来解决这个。
接下来,开始报一些非常有序的bug,比如内存不足,阿里云直接安装失败,或者npm安装过程中直接卡死。 还有就是数不清的
unmet dependency
甚至有一次,我的ssh连接都断了,网页版终端也连接不上。后面查了一下,是因为下载太猛,网络带宽达到了惊人的1.2M,然而我买的阿里云主机只有1M带宽o(︶︿︶)o
只好在esc控制台重启机器,等了大概五首歌的时间才重启成功。期间回忆起大一时windows电脑同时安装了金山毒霸和360的辛酸往事。顺便看了半集行尸走肉。
重启之后ssh就连接不上了,呵呵哒,我就知道事情没那么简单,网页终端看了一下,uwf被激活了,22端口虽然显示的已开放,但是显然这个贱人在骗我,果断
$ufw disable
然后电脑开一个ssh连接,成功,再来一发
$ufw allow 22
$ufw enable
无视它的警告,成功了。
然后就在我想要继续和npm抗争的时候,看到了下面这个
http://www.ghostchina.com/ghost-0-7-4-released/
时间太久,以至于我忘了在阿里云上面,用npm安装依赖无异于自寻死路。ghost中文提供了集成版本,不需要再去手动install了。次奥,一口老血喷在屏幕上。
下面是下载地址
http://www.ghostchina.com/download/
好了,现在依赖问题解决了。爆发吧小博客
$node index.js
网页也打得开,然后,我的所有文章都没有了,数据都没了。。。都没了,后台页面也打不开,打不开。
(:зゝ∠)
心灰意冷
沉默良久,意识到自己犯了一个傻逼错误。
$ NODE_ENV=production forever start index.js
运行前加上环境变量NODE_ENV=production
目前为止终于是弄好了,没看出来升级前后这个博客有啥变化。而且我心中有一个大写的 日