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


Posted in NodeJs onOctober 23, 2017

看了标题就知道安装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 相关文章推荐
浅谈Nodejs应用主文件index.js
Aug 28 NodeJs
Express与NodeJs创建服务器的两种方法
Feb 06 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
nodejs操作mysql实现增删改查的实例
May 28 NodeJs
深入浅析Nodejs的Http模块
Jun 20 NodeJs
nodejs socket服务端和客户端简单通信功能
Sep 14 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
Nodejs异步流程框架async的方法
Jun 07 NodeJs
nodejs实现UDP组播示例方法
Nov 04 NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 #NodeJs
NodeJs通过async/await处理异步的方法
Oct 09 #NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 #NodeJs
Nodejs调用WebService的示例代码
Sep 29 #NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 #NodeJs
Nodejs实现文件上传的示例代码
Sep 26 #NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 #NodeJs
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
JS中递归函数
2016/06/17 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
简明 Python 基础学习教程
2007/02/08 Python
python中xrange和range的区别
2014/05/13 Python
Python脚本实现格式化css文件
2015/04/08 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
Django视图和URL配置详解
2018/01/31 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
python 代码运行时间获取方式详解
2020/09/18 Python
写自荐信有哪些不宜?
2013/10/17 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
教师自我剖析材料
2014/09/29 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
纪录片信仰观后感
2015/06/08 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫