2013-03-12 3 views
4

현재 트리니다드 보석이 분명히 해결 된 문제입니다트리니다드를 jruby-rack의 다른 버전에 의존하는 가장 간단한 방법은 무엇입니까?

/Users/bijan/.rvm/gems/jruby-1.7.3/gems/rack-1.4.5/lib/rack/utils.rb:399 warning: multiple values for a block parameter (2 for 1)

내 자산의 모든 하나 하나 내 개발 로그에 표시되는 일부 오류가 JRuby를 랙 1.1.0에 따라 달라집니다 현재 jruby-rack (1.2) master 브랜치와 trinidad가 이것에 의존하도록 만들고 싶습니다.

내 Gemfile 내에서이를 수행 할 수있는 방법이 있습니까? 또는 트리니다드 보석을 포크로 바꾸고 다른 버전의 jruby-rack을 지정하는 것보다 간단한 해결책이 될 수 있습니다.

+0

이 문제는 또한 나를 괴롭 히고 있습니다. 누구나 대답 있어요? – wndxlori

답변

2

TL; DR - 실제로는 아닙니다. 출시 방법을 통해 프로젝트 중 하나 또는 두 가지를 만들거나 jruby-rack 팀의 도움을 받아야합니다. 빌드 단계는 하단을 참조하십시오.


현재 트리니다드 버전 (1.4.4 및 1.4.5B1 시험판)를 (각각 >= 1.1.10>= 1.1.13) 낙관적 버전으로, 그래서 종속성을 jruby-rack을 사용하여 만족이 (예를 들어, 1.2.0)을 건드리지 않고 우선 것 트리니다 드.

불행히도 JAR 패키지 방법으로 인해 git: 또는 github: 종속성이 작동하지 않습니다. build the gem 자신이 필요합니다. 이것은 그리 나쁘지 않습니다. 실제로 JDK/JRuby 작업 환경 이상으로 Maven이 필요합니다. jruby-rack가 내장되어

되면/변경과 함께 출시, 당신의 Gemfile (이것은 1.2.0 버전이됩니다 가정)에서 실행 가능한 버전을 지정할 수 있습니다 :

gem 'jruby-rack', '~> 1.2.0' 
gem 'trinidad' 

은 아마 jruby-rack 팀이 특정을 백 포트 수 1.1.13 유지 보수 라인으로 변경하고 호환되지 않는 경우 1.1.13.2 릴리스를 푸시하십시오. 또는 그들은 주 (主)로부터 예비 시험을 기꺼이 할 수도있다.


나는 일이 자산 제대로 작동하는지 테스트를하지 않은,하지만 건물과 로컬 버전을 지정은 상대적으로 쉬웠다 :

# Assuming mvn is on the path, JRuby is active, and you 
# have gem install permissions: 
git clone https://github.com/jruby/jruby-rack.git 
cd jruby-rack 
bundle install 
bundle exec rake clean gem SKIP_SPECS=true 
gem install --local target/jruby-rack-1.2.0.SNAPSHOT.gem 

이 후, 트리니다드을 만족하기 위해 Gemfile에 gem 'jruby-rack', '~> 1.2.0.SNAPSHOT'을 사용할 수 있습니다 문제가 해결되었는지 테스트하십시오.