nodejs中安装ghost出错的原因及解决方法

也许你想成为太阳,可你却只是一颗星辰;也许你想成为大树,可你却是一棵小草。于是,你有些自卑。其实,你和别人一样,也是一片风景:做不了太阳,就做星辰,在自我的星座发光发热;做不了大树,就做小草,以自我的绿色装点期望……

看了标题就知道安装ghost会碰到不少的坑,这里先说一个:

错误

(windows)通过ghost-cli来安装的步骤:

npm install -g ghost-cli  #全局安装ghost-cli
cd myghostblog   #进入工作目录
ghost install local #使用local参数在当前目录初始化一个ghost,使用sqlite数据库

出错信息如下:

√ Downloading and installing Ghost v?
√ Finishing install process
√ Configuring Ghost
√ Setting up instance
× Running database migrations
A SystemError occurred.

在ghost install local过程中不仅完成了ghost的初始化,还完成了依赖库的安装(也就是npm install)

从错误提示中看到Running database migrations出错了,其原因是:在下载依赖包sqlite3时出错,导致问题出现。

实际上在下载依赖包时出错,仅仅给出一个警告,警告都会跳过去,直到migrator这一步(数据迁移,也就是初始化数据库)出现了错误,导致安装失败。

而为什么下载sqlite3时出错了呢?

原因

就是因为sqlite3的包(sqlite3 for node)在.s3.amazonaws.com上,这个被墙了。*(满眼的泪呀!)

知道了原因,要解决就很容易了。

解决

解决方案是: cnpm install sqlite3 #使用taobao镜像安装

具体的过程如下:

npm install -g ghost-cli
cd myghostblog     
ghost install local   #会出错
cd current
cnpm install      #补装依赖库,并使用taobao镜像安装
knex-migrator init   #初始化sqlite数据库,会使用MigratorConfig.js
grunt dev      #运行 Dev 环境

打开浏览器http://localhost:2368/

加强

上面是在current目录下使用grunt运行起来的,如果要回到ghost-cli通过ghost来运行的话,还需要做一件事,将myghostblog\current\content\data\ghost-dev.db文件拷贝到myghostblog\content\data\ghost-dev.db,并修改文件名为ghost-local.db。(注意看目录差别,中间有一个current目录的差别)

这样就可以回到myghostblog目录使用ghost start来启动了。

cd myghostblog
ghost start

打开浏览器http://localhost:2368/

最后再说一下环境

windows 10
  Node Version: v6.10.3
  Ghost-CLI Version: 1.1.3
  Ghost Version: 1.14.0
2017-10-23

以上就是nodejs中安装ghost出错的原因及解决方法的详细内容,更多关于nodejs中安装ghost出错的原因及解决方法请关注本栏目其它相关文章!希望对您有帮助,小编再次感谢大家一如既往对我们网站的支持!

您可能有感兴趣的文章
JS获取鼠标点击时的位置

vue、nginx部署后刷新报404错误的解决方法

electron-builder配置项

VUE聊天页面自动滚动到底部

VUE CTRL+ENTER换行,ENTER发送消息