카발 샌드 박스에서 패키지를 업그레이드하는 방법을 이해하는 데 어려움이 있습니다. esqueleto-1.3.4.5
을 esqueleto-1.3.5
으로 업그레이드하고 myapp.cabal
을 esqueleto >= 1.3.5 && < 1.4
에 의존하도록 변경했습니다. 도당이 어떻게 작동하는지, esqueleto-1.3.4.5/installed-ac7...
누군가가 설명 할 수 esqueleto의 설치 버전을 사용 종속성을 해결하기 위해 노력하고있는 것처럼 카발 샌드 박스에 설치된 패키지 업그레이드
$ cabal --version cabal-install version 1.18.0.2 using version 1.18.1.2 of the Cabal library
$ cabal install --upgrade-dependencies Resolving dependencies... cabal: Could not resolve dependencies: trying: esqueleto-1.3.4.5/installed-ac7... (user goal) next goal: myapp (user goal) rejecting: myapp-0.0.0 (conflict: esqueleto==1.3.4.5/installed-ac7..., myapp => esqueleto>=1.3.5 && <1.4)
오류
나에게 보인다?나의 직감은 이것을하기 위해 --upgrade-dependencies
을 사용해야한다는 것이었지만 나는 --only-dependencies
과 --reinstall
도 시도했다.
'cabal sandbox delete','cabal sandbox init','cabal install --only-dependencies'는 제가 평소 이런 일을하는 방식입니다. 상대적으로 작은 종속성 세트로 모든 것을 다시 실행하는 데 그리 오래 걸리지 않습니다. 또는'.cabal-sandbox/ -package-db /'폴더에서 오래된'equeleto' 폴더를 삭제할 수 있습니다 (폴더 경로에 부정확 할 수도 있습니다. 머리 상단을 기억할 수 없습니다). –
bheklilr
고마워요. bodlilr - yesod 플랫폼에서 컴파일하는 데 많은 시간이 걸리지 만 패키지 폴더를 삭제하는 것이 더 좋은 방법 일 수 있습니다. 귀하의 의견을 답변으로 게시하십시오, 나는 upvote거야. –