2011-03-08 6 views
2

evernote gem을 사용하려고합니다. 그것은 thrift gem에 의존합니다. Gemfile내 보석 중 하나가 달린 보석의 버전을 변경하려면 어떻게해야합니까?

gem 'evernote' 

내가 그것을 사용하려고

, 나는이 오류가 :

Thrift::ProtocolException in PagesController#the_lab 
No version identifier, old protocol client? 
thrift (0.5.0) lib/thrift/protocol/binary_protocol.rb:122:in `read_message_begin' 
thrift (0.5.0) lib/thrift/client.rb:45:in `receive_message' 
evernote (0.9.0) vendor/gen-rb/evernote/edam/note_store.rb:97:in `recv_listNotebooks' 

잠재적으로 문제를 해결할 수있는 newer version of the thrift gem available,있다. 나는 그것을 설치하려고하면이 오류를 얻을 :

Gemfile :

gem 'evernote' 
gem 'thrift', "~> 0.6.0" 

콘솔 :

$ bundle install 
Fetching source index for http://rubygems.org/ 
You have requested: 
    thrift ~> 0.6.0 

The bundle currently has thrift locked at 0.5.0. 
Try running `bundle update thrift` 

$ bundle update thrift 
Fetching source index for http://rubygems.org/ 
Bundler could not find compatible versions for gem "thrift": 
    In Gemfile: 
    evernote depends on 
     thrift (~> 0.5.0) 

    thrift (0.6.0) 

나는 에버 노트가 의존 절약의 버전을 변경할 수있는 방법이 있나요?

+1

덧붙여 말하자면, 'No version identifier, old protocol client?'라는 오류는 Thrift에서 왔으며 지정된 객체에 대한 IDL에 따라 응답을 구문 분석 할 수 없음을 나타냅니다. – Don

답변

3

당신은 evernote 보석을 포크 할 수 있고, 중고 버전의 중고품을 사용하도록 업데이트 한 다음 앱에서 사용할 수 있습니까?

Gemfile

gem 'evernote', :git => "https://github.com/your_username/evernote.git 

그런 다음 끌어 오기 요청 관련 경우 CGS을 보낼 수 있습니다.

1

이 시도 : 당신이

  • 실행 bundle update evernote
  • 그것은 중고품의 특정 버전에 의존하지 않는 에버 노트의 최신 버전을 것을 Gemfile에

    1. 은 중고품에 대한 참조를 제거, 그래서 당신의 문제를 해결해야합니다. 그렇지 않다면, gemfile에서 evernote와 thrift를 둘 다 시도해보고 둘 다 업데이트하십시오 (두 가지 보석의 최신 버전이 있어야합니다).

    +0

    evernote 0.9.0의 최신 버전입니까? 그것이이 페이지에서 나타내는 것입니다 - http://rubygems.org/gems/evernote. 위의 두 번째 코드 블록에서이 줄에서 볼 수 있듯이 evernote (0.9.0) vendor/gen-rb/evernote/edam/note_store.rb : 97 :'recv_listNotebooks '에 – ben

    +0

    예, 0.9.0이 최신 버전 인 것 같습니다. 그러나 https://github.com/cgs/evernote의 소스는 특정 버전 종속성을 나타내지 않습니다. 어쩌면'gem 'evernote'와 함께 Gemfile의 HEAD 브랜치를 사용해보십시오 : git => "https://github.com/cgs/evernote.git"' –

    +0

    안녕 데이빗, 도와 줘서 고마워. 불행히도 정확한 오류가 발생했습니다. – ben

    1

    포크 evernote gem & gemfile을 참조하여 편집하십시오. 드리프트의 버전과 일치하도록 포크 화 된 evernote gem의 .gemspec을 편집하십시오.

    관련 문제