DreamHost에 전용 호스팅 계정을 개설했습니다. 나는 레일 앱을 배포했다. 다음과 같은 오류가 발생했습니다.번들러 경로에 대한 혼동
You have already activated rack 1.2.1, but your Gemfile requires rack 1.3.6. Using bundle exec may solve this.
버전을 확인했습니다.
$ gem list -d rack
rack (1.2.1, 1.1.0, 1.0.1, 1.0.0)
Author: Christian Neukirchen
Rubyforge: http://rubyforge.org/projects/rack
Homepage: http://rack.rubyforge.org
Installed at (1.2.1): /usr/lib/ruby/gems/1.8
(1.1.0): /usr/lib/ruby/gems/1.8
(1.0.1): /usr/lib/ruby/gems/1.8
(1.0.0): /usr/lib/ruby/gems/1.8
랙 1.3.6이 없습니다. 하지만 "번들 쇼"로 검사했을 때 이미 설치되어 있습니다.
$ bundle show rack
/.../my_rails_app_root/vendor/bundle/ruby/1.8/gems/rack-1.3.6
(사실은 내가 "번들 --deployment 설치"했다) 그리고
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
begin
rvm_path = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
rvm_lib_path = File.join(rvm_path, 'lib')
$LOAD_PATH.unshift rvm_lib_path
require 'rvm'
RVM.use_from_path! File.dirname(File.dirname(__FILE__))
rescue LoadError
# RVM is unavailable at this point.
raise "RVM ruby lib is currently unavailable."
end
end
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup'
이 사실 나는 해결책을 발견 설정/setup_load_paths.rb 있습니다. "gem install rack -v 1.3.6"이 문제를 해결했습니다.
승객은 왜 번들 랙 보석 대신 시스템의 랙 보석 (또는 사용자의 랙 보석)을 픽업합니까? 이 문제를 어떻게 피합니까?
감사합니다. 샘
Rack 1.3.6을 설치하려고했는데 제대로 작동하지 않았습니다. 여전히 "이미 활성화 된 랙 1.2.1"이라고 말하고 있습니다. – mysmallidea