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教程之异步I/O
Nov 21 NodeJs
nodeJS删除文件方法示例
Dec 25 NodeJs
Ajax异步文件上传与NodeJS express服务端处理
Apr 01 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
Nodejs libuv运行原理详解
Aug 21 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 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 项目的方法
2007/01/02 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
python实现2014火车票查询代码分享
2014/01/10 Python
17个Python小技巧分享
2015/01/23 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python的json包位置及用法总结
2020/06/21 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
房产公证书范本
2014/04/10 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP