2

我正在尝试按照 Michael Hartl 的 rails 教程添加身份验证步骤 7.29 ( http://ruby.railstutorial.org/chapters/sign-up#top )。我的项目在本地工作,但是当我尝试部署到 heroku 时,我得到“应用程序中发生错误,无法提供您的页面”。这些是我的日志错误:

     heroku[api]: Starting process with command `bundle exec rake db:migrate` by connorleech@gmail.com
     heroku[run.1285]: Awaiting client
     heroku[run.1285]: Starting process with command `bundle exec rake db:migrate`
     heroku[run.1285]: State changed from starting to up
     heroku[run.1285]: Process exited with status 0
     heroku[run.1285]: State changed from up to complete
     heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=jason-shark-rails-project.herokuapp.com fwd="41.74.174.50" dyno= connect= service= status=503 bytes=
     heroku[web.1]: State changed from crashed to starting
     heroku[web.1]: Starting process with command `bin/rails server -p 10431 -e $RAILS_ENV`
     app[web.1]: bash: bin/rails: No such file or directory
     heroku[web.1]: Process exited with status 127
     heroku[web.1]: State changed from starting to crashed
     heroku[web.1]: Error R99 (Platform error) -> Failed to launch the dyno within 10 seconds
     heroku[web.1]: Stopping process with SIGKILL

为了部署它,我似乎在我的项目中遗漏了一些东西..bash: bin/rails: No such file or directory

为什么我的应用程序可以在本地运行,但不能部署到 heroku?

4

2 回答 2

5

Rails 4 项目有一个/bin目录,不像我克隆的一些旧的 Rails 3 项目。 /bin包含 3 个文件,bundlerailsrake,但这些文件没有进入 Heroku,因为我bin在我的全局.gitignore文件中有。

如果您使用 Git 和其他语言(Java 等),这是一个非常常见的忽略规则,因此要解决此问题:

  1. bin从中删除~/.gitignore
  2. bundle install
  3. git add .使用and提交您的更改git commit -m "Add bin back"
  4. 将您的更改推送到 Herokugit push heroku master
于 2013-09-01T13:37:06.110 回答
0

我遇到了类似的问题,由于某种原因 /bin 文件夹没有复制到我的 GitHub 存储库(检查你的?)。在尝试了许多其他解决方案均未成功后,我跑了git add bin,这让我将 bin 文件夹推送到 GitHub。我仍然不确定为什么我必须专门为 bin 文件夹设置此例外。在 Linux 上运行 Ruby v2、Rails v4。

于 2013-09-22T21:01:06.197 回答