2011-10-26 3 views
1

RavenDb 최신 버전이 너겟 패키지로 설치됩니다. Newtonsoft.Json 4.0.2를 참조합니다. TweetSharp를 설치하려고합니다. TweetSharp 그냥 nuget가 RavenDb 작동하지 않을 수 있습니다 버전 4.0.3을 설치하고 싶어 '(≥ 4.0.1)이 Newtonsoft.Json'을 필요로하는 경우에도,Nuget 패키지 종속성. 그것이 해야하는대로 작동합니까?

M> Install-Package TweetSharp 
Attempting to resolve dependency 'Hammock (≥ 1.2.3)'. 
Attempting to resolve dependency 'Newtonsoft.Json (≥ 4.0.1)'. 
Successfully installed 'Hammock 1.2.6'. 
Successfully installed 'Newtonsoft.Json 4.0.3'. 
Successfully installed 'TweetSharp 2.0.8'. 
Install failed. Rolling back... 
Install-Package : Updating 'Newtonsoft.Json 4.0.2' to 'Newtonsoft.Json 4.0.3' 
    failed. Unable to find a version of 'RavenDB-Embedded' that is compatible with 
    'Newtonsoft.Json 4.0.3'. 

당신이 볼 수 있듯이 :이 로그를 얻을.

TweetSharp의 이전 버전을 설치하려고했지만 아무 것도 변경하지 않았습니다.

이 문제를 피할 방법이 있습니까?

답변

1

NuGet에서 발생할 수있는 버그와 유사합니다. NuGet 버그 추적기에 문제를 기록하십시오. http://nuget.codeplex.com/workitem/list/basic

TweetSharp가 NewtonSoft.Json 4.0.2에서 문제가 없으면 설치가 실패하지 않아야합니다. 귀하의 버그,이 문제를 일으킨 정확한 버전을 게시 할 수 있습니다. 예 :

정확한 버전이 설치된 설치된 패키지 목록입니다. 각 패키지에 대한 종속성 목록 및 패키지가 지정하는 특정 버전 범위. 그리고 설치하려는 TweetSharp의 정확한 버전. 그러면 문제를 더 빨리 볼 수 있습니다. 감사!

내 생각에 패키지를 최신 버그 수정 릴리스로 업그레이드하려고하는 기본 논리가 있습니다. 이 경우에는 시도했지만 다른 종속성은 실패합니다. 이 경우 우리는이를 알고 있어야하며 업그레이드를 시도하지 않아야합니다.

+0

완료 Phil! 그것은 [여기] (http://nuget.codeplex.com/workitem/1681)입니다. –

+0

정말이에요? RavenDB의 최신 버전에는 Newtonsoft.Json 4.0.2가 필요하며 최신 버전은 허용되지 않습니다. – Buildstarted

+0

@BuildStarted 당신이 말한 것은 정확히 내가 말한 것입니다. RavenDb는 4.0.3을 용인 할 수 없으므로 업데이트 프로세스가 실패합니다. –

1

이것은 NuGet이 가지고 있었던 의미 론적 버전 관리 (나는 생각합니다) 1.6입니다. here에 대해 더 자세히 설명되어 있지만, 기본 아이디어는 종속성이 메이저 또는 마이너 리비전 번호를 업데이트하지 않은 경우 버그 수정이 아닌 변경이라고 가정합니다.

이 경우 4.0.1 대신 4.0.3을 설치하기로 한 결정이 내려졌습니다.

-ignoredependencies를 사용하여 install-package를 실행할 수 있습니다. 4.0.2를 설치 한 경우 4.0.2가 종속성을 충족하므로 업데이트를 시도하지 않을 것이라고 생각했을 것입니다.