nodejs中安装ghost出错的原因及解决方法

看了标题就知道安装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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Node.js入门教程:在windows和Linux上安装配置Node.js图文教程

    本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v0.10.26 版本为例. Node.js安装包及源码下载地址为:http://www.nodejs.org/download/. 根据不同平台系统选择你需要的Node.js安装包. 注意:Linux上安装Node.js需要安装Python 2.6 或 2.7 ,不建议安装Python 3.0以上版本. Windowv 上安装Node.js Windows 安装包(.msi) : 32 位

  • 解决Window10系统下Node安装报错的问题分析

    前言 今天电脑重装了win10系统,在安装Node的过程中出现了下面的问题,下面就和大家分享下用来解决这种问题的小方法. 报错原因 随便问下度娘我们就可以知道,导致报错的原因是由于权限的关系,因此我们只需要使用管理员权限来运行当前Node安装包就可以解决报错问题了. 具体方法 使用管理员权限打开命令行工具并且cd到node安装包的项目文件夹下执行下面代码: msiexec /i package node-v6.9.1-x64.msi 运行指令之后接下来就会自动弹出安装界面,然后我们只需要按照提示

  • windows系统下简单nodejs安装及环境配置

    相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼.有关nodejs的相关资料网上已经铺天盖地.由于它的高并发特性,造就了其特殊的应用地位. 国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/  这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网http://www.nodejs.org/download/  这里用的是

  • Mac/Windows下如何安装Node.js

    Mac 在Mac下,如果你喜欢用homebrew,那么只用一行就可以装好: brew install node 否则,只能考虑手工安装了,步骤如下: 安装Xcode 安装git 运行下面的命令行编译node.js 复制代码 代码如下: git clone git://github.com/ry/node.git cd node ./configure make sudo make install Ubuntu 安装依赖包 sudo apt-get install g++ curl libssl-

  • node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法

    在使用npm install安装扩展插件时,系统提示"npm install Error: ENOENT, stat 'C:Users<用户名>AppDataRoamingnpm'". 以前都是很顺利的安装过程,没出现这种情况.我这里的解决办法是直接创建上面提示的目录就好了,应该是node.js权限不够,在此备注. 有时候就是这样,很可能一个很久都无法解决的问题,实际解决方法很简单,就是这么任性!!

  • 在Windows上安装Node.js模块的方法

    不过有消息称Microsoft已经联系Node.js官方,相信很快会有改善. 那么在不安装Cygwin的情况下,是否可以在Windows上搭建Node.js环境进行试验开发哪?我以Node.js + express做了个简单测试,基本可行. 步骤如下: 1. 下载Node.js官方非稳定版Windows可执行程序: http://nodejs.org/#download 我在试验中使用了0.5.7版本:http://nodejs.org/dist/v0.5.7/node.exe 2. 创建c:\

  • windows下安装nodejs及框架express

    以下通过两种方式介绍windows下安装node.js及框架express 第一种方式: 总共分为四步轻松完成Nodejs的Express安装 第一步.安装 所有要先按装express-generator,否则创建项目时,会提示express命令没找到 npm install -g express-generator #需先安装express-generator npm install -g express express -V #验证是否安装成功 第二步.创建项目 $ express myfi

  • Windows安装Node.js报错:2503、2502的解决方法

    前言 Windows真的是太恶心了!!!不仅会出现大量的垃圾文件,而且有时莫名的安装不上一些软件(正常软件).前久因为想学学Koa2,打算升级下nodejs的版本以体验下ES6.ES7的aync,await等新特性,却死活安装不上nodejs同时也卸载不了老版的nodejs,不知所措,放了一段时间,今晚想看看D3准备学学,并借助Koa做个展示性的学习练手项目,决心查查资料解决下nodejs安装报错问题. 功夫不负有心人,终于得以解决,故以此文记录下. 目录权限问题? 首先我想是不是权限问题,于是

  • nodejs中安装ghost出错的原因及解决方法

    看了标题就知道安装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 pr

  • Java中java.lang.ClassCastException异常原因及解决方法

    通常我们在 OOP 设计中都会使用到继承. ​​但是在继承对象之间的强制转换可能会遇到​​java.lang.ClassCastException​​异常的错误. 错误的日志如下: 19:58:25.010 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw

  • Vue中安装element-ui失败问题原因及解决

    目录 Vue中安装element-ui失败 解决方式 elementui安装不上,报错问题 解决方法 总结 Vue中安装element-ui失败 开启npm.cmd,输入npm install element-ui -S命令,正常情况会安装成功,但也有安装不成功的情况, 若安装不成功,则检查npm和vue是否安装成功,使用: npm -v vue -V ps:这里的V大写 来查看版本,看不到版本号,便重新安装npm或vue. 解决方式 npm install npm -g elementui安装

  • php中出现空白页的原因及解决方法汇总

    很多程序员在进行php开发的时候都遇到过出现空白页的请,综合分析来说,在php编程中出现空白页面可能是由以下几个原因造成的: 1.逻辑错误 逻辑错误是最难排除的,从表面上看,也许代码是合法的,是正规的,可运行起来却不是预料之中的.为什么呢?也许是编写者想得不够全面,毕竟人是人,计算机是计算机,计算机不可能完全按照人的思路去运行脚本.在这里,我告诉大家一个比较好的调试方法,就是使用注释符"/* */",注释掉一些代码,观察运行情况,以此来逐个排除错误,最终找到错误代码的位置.这种情况下要

  • python中urllib.unquote乱码的原因与解决方法

    发现问题 Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:"%E6%B3%95%E5%9B%BD%E7%BA%A2%E9%85%92"解码后会转换成"法国红酒",但是使用过程中,如果姿势不对,最终转换出来的字符会是乱码"法国红é-". 笔者在一个真实的Tornado应用中就

  • IIS7中Ajax.AjaxMethod无效的原因及解决方法

    最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了. 因为我发布网站用的是iis7,所以在web.config位置文件中<system.webServer><handlers>></handlers><system.webServer>里加入<add name="AjaxMethod" type="

  • 无法使用pip命令安装python第三方库的原因及解决方法

    再dos中无法使用pip,命令主要是没有发现这个命令.我们先找到这个命令的位置,一般是在python里面的Scripts文件夹里面.我们可以把dos切换到对应的文件夹,再使用pip命令就可以了. 如果你在使用pip命令安装Python第三方库时也出现下面这样. 这是我在安装requests库时 我们发现pip命令无法使用,这时我们看一下python文件夹下的Scripts文件,如下 我发现我里面有pip和easy_install,也就是我可以使用pip命令所以我们要在这个文件夹下使用pip命令

  • 关于python3.9安装wordcloud出错的问题及解决办法

    本文给大家分享python3.9安装wordcloud出错解决经历,感兴趣的朋友一起看看吧 晚上闲的无聊,就想安装个词云玩玩,但是安装失败,出现命令在退出时发生错误,在网上找了很多的解决办法,但是一一不管用,试了在pycharm->settings->project interrupt 进行安装,不料还是报错, 我开始是用pip install --upgradepip 和pip install --upgrade setuptools来升级我的pip,但是没有什么用,还是一如既往的报错. 此

  • VSstudio中scanf返回值被忽略的原因及解决方法(推荐)

    相信有不少人在使用vs的时候会遇到以下这个问题:scanf返回值被忽略,接下来我就告诉大家该如何解决这个问题 出现问题的原因: 因为scanf()在读取数据时不检查边界,所以可能会造成内存泄漏.Microsoft公司觉得这个函数不安全,于是自己在VS编译器中提供了scanf_s()这个函数,想解决以下这个问题有以下几种方法: 方法一(不推荐!): 将scanf改为scanf_s即可解决这个问题,效果如下所示: 虽然这种方法可行,但是在这里不推荐使用这种方式,因为编写程序要保证其有良好的可移植性,

  • Ubuntu安装telent服务器时出现:apt-get:Package has no installation的原因及解决方法

    当我在终端敲下这条命令的时候,系统就提示telnetd:apt-get:Package has no installation sudo apt-get install xinetd telnetd 刚开始我以为是没有这个包,后来查了一下资料发现,有这个软件,于是百度了一下才知道解决以上问题需要如下操作: # apt-get update # apt-get upgrade # apt-get install <packagename> 这样就可以正常使用apt-get了. 接下来就按照以前转

随机推荐