将nodejs app部署到heroku

时间:2014-06-18 05:28:39

标签: node.js heroku hexo

我使用了https://github.com/tommy351/hexo 创建博客并希望部署到heroku

hexo指令

 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

我在本地创建并将应用程序上传到heroku并报告:

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

看起来一切正常, 只是混淆如何执行命令行,如

hexo ***

on heroku

我执行了

heroku run "hexo server"

总是说

bash: hexo: command not found

1 个答案:

答案 0 :(得分: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",
   "version":"2.8.3",
   "private":true,
   "dependencies":{  
      "hexo-renderer-ejs":"*",
      "hexo-renderer-stylus":"*",
      "hexo-renderer-marked":"*",
      "hexo":"*",
      "connect":"2.x"
   }
}

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

  1. 在本地使用hexo命令,
  2. 将结果提交/推送到服务器。
  3. (1)http://hexo.io/docs/deployment.html
    (2)https://github.com/hexojs/hexo/issues/764