2012-06-05 3 views
2

나는 복제 한 응용 프로그램의 공동 작업자이며 공동 작업자의 컴퓨터에서 모든 것이 완벽하게 실행됩니다.번들 명령어로 Gemfile 오류가 발생했습니다.

/Users/jacob/furious-ocean-6331/Gemfile:3:in `evaluate': undefined method `ruby' for # <Bundler::Dsl:0x007fcda31048c0> (NoMethodError) 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dsl.rb:7:in `instance_eval' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler1.1.4/lib/bundler/dsl.rb:7:in `evaluate' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/definition.rb:18:in `build' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler.rb:135:in `definition' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler1.1.4/lib/bundler/cli.rb:220:in `install' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler1.1.4/lib/bundler/vendor/thor/task.rb:22:in `run' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/vendor/thor.rb:263:in `dispatch' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/vendor/thor/base.rb:386:in `start' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/bin/bundle:13:in `<top (required)>' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/bin/bundle:19:in `load' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/bin/bundle:19:in `<main>' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval' 
     /Users/jacob/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>' 
There was an error in your Gemfile, and Bundler cannot continue. 
다음

는 Gemfile입니다 :

source 'https://rubygems.org' 

ruby '1.9.3' 
gem 'rails', '3.2.2' 

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

gem 'nokogiri' 
gem 'bcrypt-ruby', :require => 'bcrypt' 
gem "json", "~> 1.7.3" 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

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

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'thin' 

gem "heroku" 

gem 'jquery-rails' 

group :development, :test do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 


# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug19', :require => 'ruby-debug' 

답변

9

ruby 요소 당신에게 내가 번들 간부를 입력하거나 번들 그러나 내 Heroku가 응용 프로그램의 루트 디렉토리에 설치, 나는 다음과 같은 오류가 발생합니다 Gemfile에 Bundler의 시험판 버전에서만 작동합니다.

gem install bundler --pre

루비 버전 지정을 지원하는 번들의 시험판 버전을 실행하고 있는지 확인하십시오.

+4

이것은 Heroku 설명서에서보다 명확하게 지정해야합니다 ... –

+0

자세한 내용은 https://devcenter.heroku.com/articles/ruby-versions –

+1

에서 확인하십시오. 사전 릴리스를 설치해야한다는 사실은 알고 있습니다. 번들러의 버전은 그런 중요한 정보를 위해 조금 떨어진다. 그리고 처음에는 bundler가 영향을 받는다는 것이 명백하지 않다. 문제는 RubyGems에 있다고 생각했다. 어쩌면 나는 모든 것을 읽지 않는 바보 일 수도 있습니다. –

2

이 문제를 해결하려면 Bundler 1.2.0의 시험판 버전을 설치하십시오. 단순히 시험판 버전으로 업그레이드 할 수는 없습니다. 설치 제거한 후 설치해야합니다.

$ gem uninstall -ax bundler 
$ gem install bundler --pre 
$ bundle --version 

그런

$ bundle install 

는 Gemfile

0

에 지정된 보석을 설치하는 실행이 방법은 번들 1.2 이후 추가되었습니다

http://bundler.io/v1.2/gemfile.html

가 있는지 확인하여 bundle --version 충분히 새로운 .