2014-05-24 5 views
1

내가 원하는만큼 많은 보석을 가질 수있는 Ruby에서 나올 때, Cabal이 한 번에 하나의 버전 만 설치할 수있는 제한이있는 이유가 혼란 스럽습니다.왜 동맹은 동일한 패키지의 여러 버전을 유지할 수 없습니까?

나는 답을 찾으려고 노력했지만이 문제의 이유를 설명하는 것을 찾을 수 없었다. 또 다른 좋은 질문은 모든 프로젝트마다 모든 것을 다시 컴파일해야하거나 (항상 작동하지 않는 샌드 박스를 공유해야하는) 샌드 박스를 사용하는 것 이외에 다른 해결 방법이있는 경우입니다.

편집 :이 질문을 명확히하기 위해, 내가 이해할 수없는 것은 캐럴이 패키지를 설치하면 다른 패키지가 손상 될 것이라고 말하는 지점에 도달하는 방법입니다. 이 문제의 원인은 무엇입니까?

샌드 박스를 사용하여 수정할 수 있지만이 문제의 원인에 대한 대답은 아닙니다.

답변

3

귀하의 가정이 틀립니다 : cabal은 동일한 패키지의 여러 버전을 설치할 수 있습니다. 패키지는 버전 번호로 구별됩니다.

+2

그런 경우 패키지가 처음 깨진 이유가 무엇인지 혼란 스럽습니다. 나는 내 질문을 다시 작성해야한다고 생각하지만 일반적으로 동일한 종속성의 다른 버전에 의존하는 다른 패키지를 설치할 때 패키지가 손상 될 때가 많다. –

+4

다이아몬드 의존성 문제 때문입니다. http://www.well-typed.com/blog/9/ –