2016.01.22

我的 Ghost 终于在自己VPS上搭起来了……

之前折腾了不知道多少天,Ghost死活搭不成功……

VPS重装了无数次…… CentOSDebianTurnKeynginxlighttp,乱七八糟尝试了一圈。从完全不懂 Linux 一句一句查命令,到现在基本能背下来…… nginx 和它的各种模块的配置也来来回回倒腾了一堆。

其他的SS、VPN什么的都没问题;NodeJS、npm、nginx这些单独跑也都没问题;甚至我专门用一个一键安装包测试安装成功后,自己手动按照它命令的顺序配置,结果还是不成功。

失败原因

废话少说,之前 Ghost 一直装不上的原因是:

Ghost 不支持 NodeJS 5.x 版本!!!

神TM怎么没一个教程提到!?所有教程都极其顺利讲完了,没人关心失败了改咋找问题……问题出在哪也没个头绪,到底是系统的问题、 nginx 的问题、 sqlite3 的问题、还是 Ghost 的问题?直到我自己一步一步-help尝试各种命令,才发现运行时候的提示:

ERROR: Unsupported version of Node
Ghost needs Node version ~0.10.0 || ~0.12.0 || ~4.2.0 you are using version 5.5.0

然后我跑去翻 Ghost 的支持文档,才发现这货竟然不支持 NodeJS 5.5.0……

---- Version ------- Support Level

  • 0.10.40 --------- Recommended
  • 0.10.* ---------- Supported
  • 0.12.* ---------- Supported
  • 4.2.* LTS ------- Supported
  • =4.0 <4.2 ------ Unsupported

  • 5.* ------------- Unsupported
  • <0.10.* --------- Unsupported

> 查看支持版本列表 <

之前我在本地搭过 Ghost 也是顺利的不要不要的,当时到也没注意过 NodeJS 的版本问题。这次专门升级到最新版,结果就这么浪费了我三天的时间……

NodeJS 版本管理

如果有人遇到同样问题,请安装 n 模块对 NodeJS 进行版本管理。

npm install n -g

然后用 n 模块安装相应 NodeJS 版本:

  • 安装最新版: n latest
  • 安装LTS版: n lts
  • 安装指定版本: n x.x.x

另外想吐槽的还有一点……

我不是说网上的某些教程,我是说所有的中文教程,都是垃圾。

他娘的几乎都是拼拼凑凑写出来的,安装个组件一会儿用 yum,一会儿又用 wget;前面夸包管理真方便,后面就开始自己下源码自己编译了;或者也不管系统是啥,直接扔个 apt-get ;有些直接扔一大串命令,也没啥解释,还得自己一句一句查……

都走点心行不……?

总之这些乱七八糟的折腾完了,可以老老实实折腾点更有意思的东西了。

话说,其实我会不会继续写博客都不一定,折腾这么多图个啥……?