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实现的一个简单聊天室功能分享
Dec 06 NodeJs
Nodejs Stream 数据流使用手册
Apr 17 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
nodejs使用express获取get和post传值及session验证的方法
Nov 09 NodeJs
nodeJS微信分享
Dec 20 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
nodejs 十六进制字符串型数据与btye型数据相互转换
Jul 30 NodeJs
NodeJS实现自定义流的方法
Aug 01 NodeJs
nodejs中实现修改用户路由功能
May 24 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 多行多列显示
2009/08/15 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
动态控制Table的js代码
2007/03/07 Javascript
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
详解react-redux插件入门
2018/04/19 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Python中的面向对象编程详解(上)
2015/04/13 Python
Python中字符串的格式化方法小结
2016/05/03 Python
Python探索之创建二叉树
2017/10/25 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
Python continue语句实例用法
2020/02/06 Python
python中if及if-else如何使用
2020/06/02 Python
python中round函数如何使用
2020/06/19 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
EJB实例的生命周期
2016/10/28 面试题
计算机专业大学生的自我评价
2013/11/14 职场文书
中专生自我鉴定
2013/12/17 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
财务管理制度范本
2015/08/04 职场文书
会计做账心得体会
2016/01/22 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书