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

 更新时间:2017年10月23日 14:29:28   作者:sorkin  
本篇文章主要介绍了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

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

您可能感兴趣的文章:

相关文章

  • Node.js+pm2+ssh2模块实现简单的自动化部署脚本

    Node.js+pm2+ssh2模块实现简单的自动化部署脚本

    本文将介绍如何使用Node.js和ssh2模块实现一个简单的部署脚本,将本地的项目文件上传到远程服务器上,我们将使用dotenv模块来管理环境变量,以及child_process模块来执行命令行操作
    2023-10-10
  • Node.js(安装,启动,测试)

    Node.js(安装,启动,测试)

    这里主要介绍基于windows平台上最简单方便的安装方式,启动以及简单测试
    2014-06-06
  • node使用Git Bash作为命令行终端示例

    node使用Git Bash作为命令行终端示例

    这篇文章主要为大家介绍了node使用Git Bash作为命令行终端示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 如何制作一个Node命令行图像识别工具

    如何制作一个Node命令行图像识别工具

    这篇文章主要介绍了如何制作一个Node命令行图像识别工具,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • npm包发布和删除的超详细教程

    npm包发布和删除的超详细教程

    npm是JavaScript的包管理器,也是世界上最大的软件注册中心,下面这篇文章主要给大家介绍了关于npm包发布和删除的超详细教程,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Ubuntu中搭建Nodejs开发环境过程分享

    Ubuntu中搭建Nodejs开发环境过程分享

    这篇文章主要介绍了Ubuntu中搭建Nodejs开发环境过程,比较郁闷的是apt-get安装失败了,如果有遇到一样问题的朋友,可以参考一下本文
    2014-06-06
  • VSCode通过Ctrl+P快速打开node_modules中的文件的操作方法

    VSCode通过Ctrl+P快速打开node_modules中的文件的操作方法

    由于node_modules目录包含的文件太多,在VSCode中默认情况下是禁止搜索node_modules目录的,在这种情况下,我们将不得不依次展开node_modules的文件目录树,来查找我们所需要的文件,接下来介绍VSCode如何通过Ctrl+P快速打开node_modules中的文件,需要的朋友可以参考下
    2023-07-07
  • Node.js包管理器代理工具Verdaccio轻松创建管理本地npm包仓库

    Node.js包管理器代理工具Verdaccio轻松创建管理本地npm包仓库

    这篇文章主要为大家介绍了Node.js包管理器代理工具Verdaccio轻松创建管理本地npm包仓库的使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Node.js的非阻塞I/O、异步与事件驱动介绍

    Node.js的非阻塞I/O、异步与事件驱动介绍

    这篇文章介绍了Node.js的非阻塞I/O、异步与事件驱动,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 解析Node.js异常处理中domain模块的使用方法

    解析Node.js异常处理中domain模块的使用方法

    这篇文章主要介绍了Node.js异常处理中domain模块的使用方法,文中最后提到了内存泄漏的相关问题,值得注意,需要的朋友可以参考下
    2016-02-02

最新评论