【问题标题】:Bundler Rails 4.0 App Error When Pushing to Heroku推送到 Heroku 时 Bundler Rails 4.0 应用程序错误
【发布时间】:2013-07-03 20:24:44
【问题描述】:

在此问题因重复而关闭之前,我首先要说的是,我已经尝试了在类似性质的问题中提出的多种解决方案。我正在通过Ruby on Rails 4.0 Tutorial 工作,并且已经将我的代码推送到 Heroku。但是,每当我运行以下命令时:

$ git push heroku master

我得到以下信息:

Counting objects: 74, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (63/63), done.
Writing objects: 100% (74/74), 15.59 KiB, done.
Total 74 (delta 11), reused 0 (delta 0)

-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using 
   Running: bundle install --without development:test --path vendor/bundle --binstubs   vendor/bundle/bin --deployment
   /usr/bin/env: ruby1.9.1: No such file or directory
   Bundler Output: /usr/bin/env: ruby1.9.1: No such file or directory
   !
   !     Failed to install gems via Bundler.
   !

   !     Push rejected, failed to compile Ruby/Rails app

   To git@heroku.com:example.git
  ! [remote rejected] master -> master (pre-receive hook declined)
  error: failed to push some refs to 'git@heroku.com:example.git'

我尝试了几件事,包括更改我的 Gemfile(见下文)

宝石文件:

source 'https://rubygems.org'

ruby '2.0.0'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'

# Use sqlite3 as the database for Active Record
group :development do
gem 'sqlite3'
end

# Use SCSS for stylesheets
gem 'sass-rails', '4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '2.1.1'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails', '2.2.1'

# Turbolinks makes following links in your web application faster. Read more:     https://github.com/rails/turbolinks
gem 'turbolinks', '1.1.1'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '1.0.2'

group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '0.3.20', require: false
end

group :production do
gem 'pg', '0.15.1'
end

gem 'rails_12factor', group: :production

和编辑配置变量

$ heroku config:set GEM_PATH = vendor/bundle/ruby/1.9.1
$ heroku config:set PATH = bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin

我也尝试过使用 Heroku 运行 bundle

$ heroku run "bundle update"

但是我得到了这个错误

bash: bundle: command not found

我也检查了我的日志,但这些日志只适用于部署后问题。

有人知道如何解决这个问题吗?

也许 Heroku 方面缺少文件或目录。

【问题讨论】:

    标签: ruby-on-rails heroku gem bundler


    【解决方案1】:

    看来,为了解决这个问题,您需要关闭 Bundler 的存根生成器,因为 Rails 4 应用程序不会将存根存储在应用程序的 bin/ 目录中。为此,请使用以下命令:

    $ bundle config --delete bin
    

    然后你需要更新 bin 目录以使用新的 Rails 4 可执行文件

    $ rake rails:update:bin
    

    然后使用以下命令将新的 bin/ 目录添加到您的版本控制中:

    $ git add bin
    

    提交更改并将您的代码推送到 Heroku

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 2015-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2010-12-30
      相关资源
      最近更新 更多