보석 선적 명세서

6464 단어 bundler

묘사

나는 일부 보석에 문제가 생겼다는 것을 알아차렸다. 예를 들어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>'

좋은 웹페이지 즐겨찾기