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(二)--- Node.js事件模块
May 21 NodeJs
Nodejs+express+html5 实现拖拽上传
Aug 08 NodeJs
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
Nodejs关于gzip/deflate压缩详解
Mar 04 NodeJs
搭建简单的nodejs http服务器详解
Mar 09 NodeJs
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
Jul 05 NodeJs
深入解析nodejs HTTP服务
Jul 25 NodeJs
nodejs中art-template模板语法的引入及冲突解决方案
Nov 07 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 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中使用XML
2006/10/09 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
php对数组排序代码分享
2014/02/24 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
小程序红包雨的实现示例
2019/02/19 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
举例讲解Python中的身份运算符的使用方法
2015/10/13 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
如何通过python计算圆周率PI
2020/11/11 Python
优秀的毕业生的自我评价
2013/12/12 职场文书
物流创业计划书
2014/02/01 职场文书
网络管理员岗位职责
2014/03/17 职场文书
银行授权委托书样本
2014/10/13 职场文书
英文感谢信格式
2015/01/21 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
java实现对Hadoop的操作
2021/07/01 Java/Android
解决redis批量删除key值的问题
2022/03/23 Redis