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的子进程(child_process)调用系统命令的方法分享
Jun 05 NodeJs
nodejs开发环境配置与使用
Nov 17 NodeJs
nodejs中实现路由功能
Dec 29 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
Nodejs学习item【入门手上】
May 05 NodeJs
详解Nodejs之静态资源处理
Jun 05 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
nodejs制作小爬虫功能示例
Feb 24 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使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
python中yaml配置文件模块的使用详解
2018/04/27 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
详解python中@的用法
2019/03/27 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Python数组并集交集补集代码实例
2020/02/18 Python
python with语句的原理与用法详解
2020/03/30 Python
Python实现验证码识别
2020/06/15 Python
python属于哪种语言
2020/08/16 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
幼儿老师求职信
2014/06/30 职场文书
企业领导对照检查材料
2014/08/20 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
中学生自我评价范文
2015/03/03 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers