Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-Heroku-Gem部署问题_Ruby On Rails_Deployment_Heroku - Fatal编程技术网

Ruby on rails Rails-Heroku-Gem部署问题

Ruby on rails Rails-Heroku-Gem部署问题,ruby-on-rails,deployment,heroku,Ruby On Rails,Deployment,Heroku,以上来自Heroku日志。有人知道这是什么意思吗?我尝试了google并尝试生成.gem文件,我的.gem文件就是这样的: config.gem: Unpacked gem authlogic-2.1.5 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this. config.gem: Unpacked gem authlogic-2.1.6 in vendor/gems has no

以上来自Heroku日志。有人知道这是什么意思吗?我尝试了google并尝试生成.gem文件,我的.gem文件就是这样的:

config.gem: Unpacked gem authlogic-2.1.5 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem authlogic-2.1.6 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this. 
/disk1/home/slugs/283271_2d484fd_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks': RubyGem version error: rack(1.0.1 not ~> 1.1.0) (RuntimeError)
当我运行rake gems:refresh\u specs时,我得到以下错误:

authlogic --version 2.1.6
acl9 --version ">=0.12.0" --source http://gemcutter.org
rack --version 1.0.1
如果你去,它会说错误。然后当我看日志时,我看到了这个

littleman@littleman-laptop:~/Desktop/employee_tracker$ git add .
littleman@littleman-laptop:~/Desktop/employee_tracker$ git commit -m "little"
[master 609c8ca] little
 9 files changed, 1026 insertions(+), 229 deletions(-)
 create mode 100755 .gems.save
littleman@littleman-laptop:~/Desktop/employee_tracker$ git push heroku master
Counting objects: 26, done.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 7.95 KiB, done.
Total 14 (delta 9), reused 0 (delta 0)

-----> Heroku receiving push
-----> Rails app detected

-----> Installing gem authlogic 2.1.6 from http://rubygems.org
       Successfully installed activesupport-3.0.0
       Successfully installed authlogic-2.1.6
       2 gems installed

-----> Installing gem acl9 >=0.12.0 from http://gemcutter.org, http://rubygems.org
       Successfully installed acl9-0.12.0
       1 gem installed

       Compiled slug size is 5.1MB
-----> Launching.... done
       http://morning-river-39.heroku.com deployed to Heroku

To git@heroku.com:morning-river-39.git
   168d74d..609c8ca  master -> master
config.gem:vendor/gems中未打包的gem authlogic-2.1.5没有规范文件。运行“rake gems:refresh_specs”修复此问题。
config.gem:vendor/gems中未打包的gem authlogic-2.1.6没有规范文件。运行“rake gems:refresh_specs”修复此问题。
/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/。/vendor/rails/railties/lib/initializer.rb:271:in`require_frameworks':RubyGem版本错误:rack(1.0.1 not~>1.1.0)(运行时错误)
from/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/。/vendor/rails/railties/lib/initializer.rb:134:正在进行中
from/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/。/vendor/rails/railties/lib/initializer.rb:113:in'send'
from/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/。/vendor/rails/railties/lib/initializer.rb:113:in'run'
from/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/environment.rb:9
from/usr/ruby1.8.7/lib/ruby/site\u ruby/1.8/rubygems/custom\u require.rb:31:in'gem\u original\u require'
from/usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in'require'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:42:in'load_application'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:23:in'initialize'
from/home/heroku_rack/heroku.ru:31:in'new'
from/home/heroku_rack/heroku.ru:31
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in'instance_eval'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in'initialize'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:46:in'new'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:46:in'map'
from/home/heroku_rack/heroku.ru:20
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in'instance_eval'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in'initialize'
from/home/heroku_rack/heroku.ru:13:in'new'
from/home/heroku_rack/heroku.ru:13
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in'instance_eval'
from/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in'initialize'
from/home/heroku_rack/heroku.ru:1:in'new'
from/home/heroku_rack/heroku.ru:1
==>dyno-2135693.log(崩溃)Heroku接收推送
----->检测到Rails应用程序
----->警告:检测到的Rails未在.gems或Gemfile中声明
安排Rails 2.3.8的安装。
看见http://docs.heroku.com/gems 有关指定gems的详细信息。
编译的段塞大小为1.1MB
----->发射。。。。完成
http://morning-river-39.heroku.com 部署到Heroku
到git@heroku.com:morning-river-39.git
ef97eef..76ec772主机->主机
littleman@littleman-笔记本电脑:~/Desktop/employee\u tracker$heroku日志
==>dyno-2135693.log(崩溃)Rails找不到预期版本。
请检查以确保您在应用程序中指定了正确版本的Rails
Gemfile或.gems。看见http://docs.heroku.com/gems 详情请参阅。
对于Rails 2.3.5或更早版本,您可能会受到Rails依赖项的影响
问题看见http://docs.heroku.com/rails236 详情请参阅。
检查此消息上方的回溯以进行调试。
有人能帮忙吗?提前谢谢,非常感谢

解决方案:

在完成以上所有操作之后,我将下面的代码行添加到.gems,然后添加到heroku rake db:migrate rails——版本2.3.8


再次感谢您的帮助。

您希望更改的一件事是删除.gems文件中“rack”版本的语句。默认情况下,Heroku会处理它

至于authlogic,您是否尝试运行refresh_规范,不确定这是否会有任何问题


这是Rails 3应用程序吗。如果是,则将其用作说明。你必须使用heroku的竹堆而不是普通的竹堆

错误消息提到您的gems已打包到供应商/gems文件夹中

littleman@littleman-laptop:~/Desktop/employee_tracker$ git add -u . && git commit -am "removing vendored gems"
[master 76ec772] removing vendored gems
 2 files changed, 214 insertions(+), 255 deletions(-)
littleman@littleman-laptop:~/Desktop/employee_tracker$ git push heroku master
Counting objects: 13, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 4.84 KiB, done.
Total 7 (delta 4), reused 0 (delta 0)

-----> Heroku receiving push
-----> Rails app detected
-----> WARNING: Detected Rails is not declared in either .gems or Gemfile
       Scheduling the install of Rails 2.3.8.
       See http://docs.heroku.com/gems for details on specifying gems.
       Compiled slug size is 1.1MB
-----> Launching.... done
       http://morning-river-39.heroku.com deployed to Heroku

To git@heroku.com:morning-river-39.git
   ef97eef..76ec772  master -> master
littleman@littleman-laptop:~/Desktop/employee_tracker$ heroku logs

==> dyno-2135693.log (crash) <==
Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

-----> Rails can't find the expected version.

       Check to ensure you have specified the correct version of Rails in your
       Gemfile or .gems.  See http://docs.heroku.com/gems for details.

       For Rails 2.3.5 or older, you may be affected by a Rails dependency
       issue.  See http://docs.heroku.com/rails236 for details.

       Examine the backtrace above this message to debug.
在推之前你有没有自己卖过——我不记得Heroku在我的任何应用程序中都这么做过


如果您自己已经出售了它们,您是否能够尝试删除您的供应商/gems文件夹,然后执行
git add-u.&&git commit-am“删除供应商的宝石”
在按下…

之前,我从文件中删除了rack,并尝试刷新规格,但出现了以下错误:在heroku和。。在那之前。。你有没有试着推heroku,看看它是否能在不刷新规格的情况下工作,我没有推heroku master。推得很好,所以它起作用了。没有更多的部署问题。基本上,您指定的是旧版本的Rack,而您的rails版本依赖于>1.1.0,因此这就是导致问题的原因。但问题尚未解决。我最初已经能够顺利通过“git push heroku master”。当您尝试访问该站点时,它会告诉您应用程序已崩溃。然后,当我查看日志时,上面的帖子就是我从它的错误中得到的。我已经把我下一步遇到的问题贴在了最上面的帖子里。再次感谢.ahh将此添加到.gems
rails--version 2.3.8
的第一行,将此添加到第二行
pg
作为对您的解决方案的响应,不要忘了将pg gem也添加到.gems文件中,否则您以后在搜索数据库时可能会遇到问题
config.gem: Unpacked gem authlogic-2.1.5 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem authlogic-2.1.6 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks': RubyGem version error: rack(1.0.1 not ~> 1.1.0) (RuntimeError)
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:134:in `process'
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/environment.rb:9
    from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:42:in `load_application'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:23:in `initialize'
    from /home/heroku_rack/heroku.ru:31:in `new'
    from /home/heroku_rack/heroku.ru:31
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:46:in `new'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:46:in `map'
    from /home/heroku_rack/heroku.ru:20
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
    from /home/heroku_rack/heroku.ru:13:in `new'
    from /home/heroku_rack/heroku.ru:13
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
    from /home/heroku_rack/heroku.ru:1:in `new'
    from /home/heroku_rack/heroku.ru:1

==> dyno-2135693.log (crash) <==
config.gem: Unpacked gem authlogic-2.1.5 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem authlogic-2.1.6 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
/disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks': RubyGem version error: rack(1.0.1 not ~> 1.1.0) (RuntimeError)
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:134:in `process'
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
    from /disk1/home/slugs/283271_609c8ca_a21d/mnt/config/environment.rb:9
    from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:42:in `load_application'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.6/lib/rack/adapter/rails.rb:23:in `initialize'
    from /home/heroku_rack/heroku.ru:31:in `new'
    from /home/heroku_rack/heroku.ru:31
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:46:in `new'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:46:in `map'
    from /home/heroku_rack/heroku.ru:20
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
    from /home/heroku_rack/heroku.ru:13:in `new'
    from /home/heroku_rack/heroku.ru:13
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval'
    from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize'
    from /home/heroku_rack/heroku.ru:1:in `new'
    from /home/heroku_rack/heroku.ru:1

-----> An error happened during the initialization of your app.

       This may be due to a typo, wrong number of arguments, or calling a
       function that doesn't exist.

       Make sure the app is working locally in production mode, by running it
       with RAILS_ENV (for Rails apps) or RACK_ENV (for Sinatra or other rack
       apps) set to production. e.g. RAILS_ENV=production script/server.

       Examine the backtrace above this message to debug.
littleman@littleman-laptop:~/Desktop/employee_tracker$ git add -u . && git commit -am "removing vendored gems"
[master 76ec772] removing vendored gems
 2 files changed, 214 insertions(+), 255 deletions(-)
littleman@littleman-laptop:~/Desktop/employee_tracker$ git push heroku master
Counting objects: 13, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 4.84 KiB, done.
Total 7 (delta 4), reused 0 (delta 0)

-----> Heroku receiving push
-----> Rails app detected
-----> WARNING: Detected Rails is not declared in either .gems or Gemfile
       Scheduling the install of Rails 2.3.8.
       See http://docs.heroku.com/gems for details on specifying gems.
       Compiled slug size is 1.1MB
-----> Launching.... done
       http://morning-river-39.heroku.com deployed to Heroku

To git@heroku.com:morning-river-39.git
   ef97eef..76ec772  master -> master
littleman@littleman-laptop:~/Desktop/employee_tracker$ heroku logs

==> dyno-2135693.log (crash) <==
Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

-----> Rails can't find the expected version.

       Check to ensure you have specified the correct version of Rails in your
       Gemfile or .gems.  See http://docs.heroku.com/gems for details.

       For Rails 2.3.5 or older, you may be affected by a Rails dependency
       issue.  See http://docs.heroku.com/rails236 for details.

       Examine the backtrace above this message to debug.
config.gem: Unpacked gem authlogic-2.1.5 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.