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框架Express的模板视图机制分析
Jul 19 NodeJs
NodeJS url验证(url-valid)的使用方法
Nov 18 NodeJs
Nodejs进程管理模块forever详解
Jun 01 NodeJs
轻松创建nodejs服务器(8):非阻塞是如何实现的
Dec 18 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
NodeJs——入门必看攻略
Jun 27 NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 NodeJs
NodeJS创建最简单的HTTP服务器
May 15 NodeJs
CentOS 安装NodeJS V8.0.0的方法
Jun 15 NodeJs
nodejs接入阿里大鱼短信验证码的方法
Jul 10 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 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/04 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
python地震数据可视化详解
2019/06/18 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
方正Java笔试题
2014/07/03 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
求职简历中自我评价
2014/01/28 职场文书
教师申诉制度
2014/01/29 职场文书
面试后感谢信
2014/02/01 职场文书
预备党员转正考核材料
2014/06/03 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
银行实习推荐信
2015/03/27 职场文书
团结友爱主题班会
2015/08/13 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang