보석 선적 명세서
묘사
나는 일부 보석에 문제가 생겼다는 것을 알아차렸다. 예를 들어after commit이다.나는 여기서 요점과 세부 사항을 발표했다.https://gist.github.com/039d9e5ce54f4a11ce70.로드할 때 어떤 보석들은 Rails가 로드되었다고 가정하는 것 같아...after commit의 경우 ActiveRecord:ConnectionAdapters::AbstractAdapter의 모든 하위 클래스에 모듈을 포함하려고 시도합니다.단,gem bundler가 제출한 후에 불러오기 때문입니다.rb 라이브러리는 Rails에서 AbstractAdapter를 초기화할 하위 클래스를 결정하기 전에 이 모듈이 포함되지 않고 프로그램을 파괴했습니다.이것이gem bundler가gem의 불러오는 순서를 바꾸는 문제인지 모르겠습니다.혹은 보석 한 무더기의 문제, 그것들/가설/일정한 적재 순서가 있다.어쨌든 지역사회는 Rails gem 개발을 어떻게 하는지에 대한 합의가 필요한 것 같다.
토론 #1
네...그래서 제가 초기치 설정법을 바꿨어요.http://gist.github.com/242240 ... 현재 설정과 관련된 불러오는 순서를 가정하면gems와 관련된 문제가 발생합니다.저리 가.토론 #2
이것은 자술한 파일토론 #셋
에 대한 좋은 개선입니다. 저도 불러오는 순서에 문제가 있는 것 같습니다.보아하니 달력 날짜 보석을 선택하고 위조하려면 먼저 Rails를 불러와야 합니다./home/manuel/scrum/teamtrick/vendor/bundler\u gems/gems/calendar\u date\u select-1.15/lib/calendar\u date\u select.rb:6:NameError:uninitialized constant ActionView::Helpers::FormHelper
하지만, 아론 지브롤터 개정안(http://gist.github.com/242240/나한테 소용없어.
단서가 있나?
토론 #4
캘린더 날짜 구성과 함께 작업할지 여부를 선택합니다.보석법?그렇다면 당신들의 생산 라인은 환경에서 어떤 모습입니까?rb?토론 #5
아론에게 대답해 줘서 고마워.나의 환경.rb는 이렇게 보입니다.RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')
Rails::Initializer.run do |config|
config.gem 'calendar_date_select'
config.gem "faker"
config.gem "populator"
...
구성을 삭제했습니다.gem 항목을 다음과 같이 gem 파일로 이동합니다.bundle_path "vendor/bundler_gems"
disable_system_gems
gem 'rails', '2.3.5'
gem "sqlite3-ruby", :require_as => 'sqlite3'
gem "calendar_date_select"
gem "faker"
gem "populator"
...
현재, 이 두 개의gem,calendar\u date\u select,populator는 모두 Rails를 놓쳤기 때문에 오류를 던집니다.토론 #6
사전 초기화.이렇게 보입니다.http://gist.github.com/242240/?승객을 쓰십니까?붙인 NameError 언제 받아요?
토론 #7
preinitializer.rb
는 그렇게 보인다.내가 script/console
실행할 때, 이 오류가 발생할 것이다.rake db:migrate
또는 script/server
를 실행하는 동안 유사한 오류가 발생했습니다.승객 쓰는 거 아니에요.토론 #8
공급업체/rails 디렉터리가 있습니까?Rails의 부트가rb는 디렉터리를 보았습니다. (비어 있어도) GemBook 대신 VendorBoot을 사용하려고 시도합니다.vendor Rails 시스템에서 gem bundler로 전환했는데 비슷한 문제가 발생했습니다.토론 #9
아니요, 공급업체 내부에서 얻은 것은 다음과 같은 디렉터리뿐입니다. bundler gems,curvycorner,originals와plugins입니다.:
토론 #10
이런 일에 대해 내가 추천할 수 있는 가장 좋은 방법은:require 'ruby-debug' debugger
at the beginning of boot.rb's boot! method. Step through the boot process and try to figure out when things are getting loaded. Maybe there's a problem with order... You may have to get rid of disable_system_gems
for the time being so that you can use ruby-debug
. It's entirely possible that the gem is not designed too well in terms of its load-order assumptions. But you won't be able to figure that out for sure unless you step through...
토론 #11
Ok, I'll take a look at that. I'll write here if I find the solution. Thanks for your time Aaron.
토론 #12
no problem -- good luck!
토론 #13
Hi! I took a look and couldn't find a solution. I decided to use gems:unpack. :(
토론 #14
I had a similar problem with bundling fakefs
/Users/michaelm/experiments/fakefs/vendor/bundler_gems/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/file.rb:260:in
`check_file_existence!':Errno::ENOENT: No such file or directory -
No such file or directory -
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in
`load_missing_constant':NameError: uninitialized constant ApplicationController
마지막으로, 나는 단지 그것을 플러그인으로 설치했을 뿐이다.토론 #15
나는 공장 여자에게도 같은 문제가 있다.c:/code/test_harness/vendor/woot/gems/railties-3.0.0.beta/lib/rails.rb:40:in 'configuration': undefined method 'config' for nil:NilClass (NoMethodError)
from c:/code/test_harness/vendor/woot/gems/factory_girl-1.2.3/lib/factory_girl.rb:25:in '<top (required)>'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler/runtime.rb:41:in 'require'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler/runtime.rb:41:in 'block (2 levels) in require'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler/runtime.rb:36:in 'each'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler/runtime.rb:36:in 'block in require'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler/runtime.rb:35:in 'each'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler/runtime.rb:35:in 'require'
from c:/code/test_harness/vendor/woot/gems/bundler-0.9.9/lib/bundler.rb:71:in 'require'
from c:/code/test_harness/config/application.rb:6:in '<top (required)>'
from c:/code/test_harness/config/environment.rb:2:in 'require'
from c:/code/test_harness/config/environment.rb:2:in '<top (required)>'
from c:/code/test_harness/test/test_helper.rb:2:in 'require'
from c:/code/test_harness/test/test_helper.rb:2:in '<top (required)>'
from c:/code/test_harness/test/unit/additional_interest_test.rb:1:in 'require'
from c:/code/test_harness/test/unit/additional_interest_test.rb:1:in '<top (required)>'
from c:/code/test_harness/vendor/woot/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in 'load'
from c:/code/test_harness/vendor/woot/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in 'block in <main>'
from c:/code/test_harness/vendor/woot/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in 'each'
from c:/code/test_harness/vendor/woot/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in '<main>'
Reference
이 문제에 관하여(보석 선적 명세서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/wycats/bundler/issues/118텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)