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爬虫获取数据简单实现代码
Mar 29 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
配置nodejs环境的方法
May 13 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 12 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
JavaScript仿京东轮播图效果
2021/02/25 Javascript
python处理文本文件并生成指定格式的文件
2014/07/31 Python
介绍Python中的一些高级编程技巧
2015/04/02 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
对pandas中时间窗函数rolling的使用详解
2018/11/28 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
学期自我鉴定
2013/11/04 职场文书
兼职业务员岗位职责
2014/01/01 职场文书
校园之星获奖感言
2014/01/29 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
会议主持词开场白
2015/05/28 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书