【问题标题】:Deploying a Rails 3.1 app on Heroku error : Could not find libv8-3.3.10.3 in any of the sources在 Heroku 上部署 Rails 3.1 应用程序错误:在任何源中都找不到 libv8-3.3.10.3
【发布时间】:2012-02-17 15:04:09
【问题描述】:

我无法在 heroku 上推送我的 rails 应用程序。在我的本地服务器中,执行“捆绑安装”没有问题,我的应用程序运行良好。 当我运行“git push heroku master”时,我有这个错误

在任何来源中都找不到 libv8-3.3.10.3 ! !无法通过 Bundler 安装 gem。 ! ! Heroku 推送被拒绝,无法编译 Ruby/rails 应用程序

我的本​​地配置是: - Mac OS 狮子 - 导轨 3.1.0 - 红宝石 1.9.2

我的 heroku 堆栈是 Cedar。

我的 Gemfile 是:

source 'http://rubygems.org'

gem 'rails', '3.1.0'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  # gem 'sass-rails',   '~> 3.1.4'
  gem 'coffee-rails', '~> 3.1.0'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
gem "rspec-rails", ">= 2.7.0", :group => [:development, :test]
gem "database_cleaner", ">= 0.6.7", :group => :test
gem "mongoid-rspec", ">= 1.4.4", :group => :test
gem "factory_girl_rails", ">= 1.3.0", :group => :test
gem "cucumber-rails", ">= 1.1.1", :group => :test
gem "capybara", ">= 1.1.1", :group => :test
gem "launchy", ">= 2.0.5", :group => :test
gem "bson_ext", ">= 1.3.0"
gem "mongoid", ">= 2.0.1"
gem "omniauth", ">= 0.3.0"
gem 'omniauth-facebook'
gem "devise", ">= 1.4.7"
gem "fb_graph", ">= 2.2.3"
gem 'less-rails-bootstrap'
gem 'chronic'
gem 'thin'
gem 'heroku'

在本地的 Gemfile.lock 中,我安装了 libv8 (3.3.10.4)。

我尝试了“捆绑更新”,我尝试在我的 Gemfile 中添加“libv8”。没有任何效果。 有人有想法吗?

更新:

我的 Gemfile.lock 包含 libv8 两次:

GEM
  specs
    ...
    libv8 (3.3.10.4)
    ...
    therubyracer (0.9.9)
      libv8 (~> 3.3.10)
    ...

Gemfile.lock 的“DEPENDENCIES”部分没有任何内容:

DEPENDENCIES
  bson_ext (>= 1.3.0)
  capybara (>= 1.1.1)
  chronic
  coffee-rails (~> 3.1.0)
  cucumber-rails (>= 1.1.1)
  database_cleaner (>= 0.6.7)
  devise (>= 1.4.7)
  factory_girl_rails (>= 1.3.0)
  fb_graph (>= 2.2.3)
  heroku
  jquery-rails
  launchy (>= 2.0.5)
  less-rails-bootstrap
  mongoid (>= 2.0.1)
  mongoid-rspec (>= 1.4.4)
  omniauth (>= 0.3.0)
  omniauth-facebook
  rails (= 3.1.0)
  rspec-rails (>= 2.7.0)
  thin
  uglifier (>= 1.0.3)

“gem list libv8”的结果

*** LOCAL GEMS ***

libv8 (3.3.10.4 x86_64-darwin-11)

“宝石环境”的结果

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.15
  - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.2.0]
  - INSTALLATION DIRECTORY: /Users/user/.rvm/gems/ruby-1.9.2-p290
  - RUBY EXECUTABLE: /Users/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/user/.rvm/gems/ruby-1.9.2-p290/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/user/.rvm/gems/ruby-1.9.2-p290
     - /Users/user/.rvm/gems/ruby-1.9.2-p290@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

【问题讨论】:

  • 您的应用程序是否使用正确的 3.1 堆栈 - 即 Cedar?
  • 是的,我在 heroku 上使用雪松堆栈。我遵循了本指南:railsapps.github.com/rails-heroku-tutorial.html
  • 请发布所有包含libv8 的 Gemfile.lock 行,以便我们可以看到所有依赖项,它应该至少显示两次,可能更多。请发布gem list libv8 的结果,以便我们准确查看安装了哪些 gem。请发布gem environment 的结果,以便我们查看您的 gem 安装在本地的位置。
  • 感谢您的评论。我刚刚用你所问的结果更新了我的问题。
  • 我之前在使用 ruby​​racer 运行时编译咖啡脚本时遇到了问题。我目前有两个heroku 3.1 应用程序,我都没有指定运行时间。 pastie.org/3243364pastie.org/3243366。查看锁文件,它正在使用 execjs

标签: ruby-on-rails heroku gem bundle


【解决方案1】:

您需要清理您的捆绑包并确保 ruby​​racer 已消失:

http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting

bundle clean

【讨论】:

  • 感谢您的回答。事实上,这还不够。我不得不重新初始化 git 并再次提交所有内容。但我认为它对我有帮助,所以我验证你的答案。问题解决了。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2011-09-07
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
相关资源
最近更新 更多