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多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
详解nodeJS之二进制buffer对象
Jun 03 NodeJs
Nodejs实现多房间简易聊天室功能
Jun 20 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
nodejs实现连接mongodb数据库的方法示例
Mar 15 NodeJs
利用nodeJs anywhere搭建本地服务器环境的方法
May 12 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
Nodejs调用Dll模块的方法
Sep 17 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
详解NodeJS模块化
Jun 15 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
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
jquery replace方法去空格
2017/05/08 jQuery
js轮播图的插件化封装详解
2017/07/17 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python冒泡排序简单实现方法
2015/07/09 Python
python字符串连接方法分析
2016/04/12 Python
python僵尸进程产生的原因
2017/07/21 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
Python面向对象进阶学习
2019/05/21 Python
Django logging配置及使用详解
2019/07/23 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Django Form常用功能及代码示例
2020/10/13 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
店面销售职位的职责
2014/03/09 职场文书
违章停车检讨书
2014/10/21 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
在人间读书笔记
2015/06/30 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android