3

I used https://github.com/tommy351/hexo to create a blog and hope to deploy to heroku

hexo instruction

 Installation

$ npm install hexo -g

Quick Start

Setup your blog

$ hexo init blog
$ cd blog
$ npm install

Start the server

$ hexo server

Create a new post

$ hexo new "Hello Hexo"

Generate static files

$ hexo generate

I created at local and upload the app to heroku and it reported:

Releasing to testApp... ....done, v3

It looks like everything is OK, just confuse how to execute command line such as

hexo ***

on heroku

I executed

heroku run "hexo server"

it always said

bash: hexo: command not found
4

1 回答 1

1

这不是你应该在 Heroku 上部署 hexo 的方式。

1. TL;DR - 简短回答

Hexo doc(1) 说你应该改变你的文件 ./_config.yml 在这部分包含类似的东西:

deploy:
  type: heroku
  repo: git@heroku.com:jefficue.git
  message: Deployment of Hexo to heroku.

当前版本的错误(2):您应该从文件 ./gitignore 中删除 public/。您可以使用此 bash 命令进行检查。它不应该返回任何内容:

$ cat .gitignore|grep public
$

在您应该在项目的根目录运行以下命令之后:

hexo generate
hexo deploy

2.更长的答案

如果你想在 Heroku 上执行某些操作,命令是

heroku run something

在你的情况下,Heroku 上似乎没有安装 hexo。不要这样做,但您可以将包 hexo 添加到您的依赖项中:

{  
   "name":"hexo-site",
   “版本”:“2.8.3”,
   “私人”:真,
   “依赖”:{  
      "hexo-renderer-ejs":"*",
      "hexo-renderer-stylus":"*",
      "hexo-renderer-marked":"*",
      "hexo":"*",
      “连接”:“2.x”
   }
}

我已将粗线添加到 my./package.json 中,它将在部署期间自动安装。默认情况下,软件包 hexo存在。添加它是一种不好的做法。你实际上应该:

  1. 在本地使用 hexo 命令,
  2. 提交/推送结果到服务器。

(1) http://hexo.io/docs/deployment.html
(2) https://github.com/hexojs/hexo/issues/764

于 2014-10-31T15:55:09.803 回答