无法使用应用名称访问Heroku控制台

3

我刚开始开发一个新的应用程序,并成功将其推送到Heroku,但是似乎我无法访问控制台。

我运行的命令是:

heroku run console --app myappname

我得到的是:
Running `console` attached to terminal... up, run.3951 Usage:   rails
new APP_PATH [options]

Options:   -r, [--ruby=PATH]              # Path to the Ruby binary of
your choice
                                 # Default: /app/vendor/ruby-1.9.3/bin/ruby   -b, [--builder=BUILDER]        #
Path to a application builder (can be a filesystem path or URL)   -m,
[--template=TEMPLATE]      # Path to an application template (can be a
filesystem path or URL)
      [--skip-gemfile]           # Don't create a Gemfile
      [--skip-bundle]            # Don't run bundle install   -G, [--skip-git]               # Skip Git ignores and keeps   -O,
[--skip-active-record]     # Skip Active Record files   -S,
[--skip-sprockets]         # Skip Sprockets files   -d,
[--database=DATABASE]      # Preconfigure for selected database
(options:
mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
                                 # Default: sqlite3   -j, [--javascript=JAVASCRIPT]  # Preconfigure for selected JavaScript
library
                                 # Default: jquery   -J, [--skip-javascript]        # Skip JavaScript files
      [--dev]                    # Setup the application with Gemfile pointing to your Rails checkout
      [--edge]                   # Setup the application with Gemfile pointing to Rails repository   -T, [--skip-test-unit]         # Skip
Test::Unit files
      [--old-style-hash]         # Force using old style hash (:foo =    'bar') on Ruby >= 1.9

Runtime options:   -f, [--force]    # Overwrite files that already
exist   -p, [--pretend]  # Run but do not make any changes   -q,
[--quiet]    # Suppress status output   -s, [--skip]     # Skip files
that already exist

Rails options:   -h, [--help]     # Show this help message and quit  
-v, [--version]  # Show Rails version number and quit

Description:
    The 'rails new' command creates a new Rails application with a default
    directory structure and configuration at the path you specify.

    You can specify extra command-line arguments to be used every time
    'rails new' runs in the .railsrc configuration file in your home directory.

    Note that the arguments specified in the .railsrc file don't affect the
    defaults values shown above in this help message.

Example:
    rails new ~/Code/Ruby/weblog

    This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
    See the README in the newly created application to get going.

我知道应用程序的名称是正确的,因为我刚刚推送它并且它已经加载。
当我查看Heroku上的日志时,当我尝试调用控制台时,我看到以下内容:
2013-07-01T16:21:58.780979+00:00 heroku[api]: Starting process with command `bundle exec rails console` by mzaragoza@myemail.com
2013-07-01T16:22:09.000482+00:00 heroku[run.2993]: Awaiting client
2013-07-01T16:22:09.055474+00:00 heroku[run.2993]: Starting process with command `bundle exec rails console`
2013-07-01T16:22:10.342966+00:00 heroku[run.2993]: State changed from starting to up
2013-07-01T16:22:13.870963+00:00 heroku[run.2993]: Process exited with status 0
2013-07-01T16:22:13.889703+00:00 heroku[run.2993]: State changed from up to complete

那个输出有什么问题?我不明白错误是什么。 - Travis Webb
“does not load” 对我来说没有意义。有错误吗?你尝试了什么?其他命令是否有效?它在其他应用程序中工作吗?你期望看到什么? - Travis Webb
我可以在 myotherapp 应用上运行 heroku run console 命令,并成功加载控制台。但是在这个新应用上,我只能看到一些帮助信息。我可以将代码推送到 Heroku 平台并运行数据库迁移,甚至可以执行其他 rake 任务如 seed。但是我就是无法访问控制台。 - user1959508
heroku run bash -a myappname 看起来我运行bash没有问题。非常感谢您的帮助。 我只是不知道从哪里开始调试。 - user1959508
5
我不确定,因为我习惯于使用控制台而不是bash。我想我应该开始学习bash了,学习总是好的。 - user1959508
显示剩余3条评论
4个回答

9

heroku run rails c是什么?如果加上rails有什么区别吗?

注:由于评论中的信息不确定,我不确定您是想访问Rails的控制台还是普通的shell。


1
为了进一步说明aledalgrande的答案,您可以在项目的根目录下运行heroku run rails c来打开Rails控制台。要运行特定的rake任务,请运行heroku run rake db:migrate或者您想要运行的任何rake任务。 - Powers
"$rails c" 表示 Rails 控制台。要运行特定的 Heroku 任务,请从 "heroku run" 开始。只需确保您已登录 Heroku。 - La-comadreja

2
正确的格式是 => heroku run "任何 Rails 命令"

1
当我升级到Rails 4.0.0以上版本时,遇到了这个问题。解决方法是在本地运行以下命令:rake rails:update:bin。这将在应用程序的根目录中生成一个bin目录。请确保它不在你的.gitignore文件中。提交更改后将其推送到Heroku。

1
谢谢,@r4m。我刚刚使用rails_apps_composer构建了一个新的应用程序,并默认在.gitignore中包含了/bin/*。这导致Heroku无法找到正确的binstub,出现了问题。 - funwhilelost

0

针对3.2.x应用程序:

当我从我的repo中删除script/rails并推送到Heroku时,这也发生在我身上。撤销提交并推送该更改使事情再次正常。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接