2012-03-08 2 views
1

/opt/ghc에 GHC가 설치되어 있고/opt/haskell (--global)에 모든 Haskell 라이브러리가있는 경우 어떻게 GHC 업그레이드를 수행 할 수 있습니까?Haskell : 새 GHC 설치용 패키지 만들기

GHC를 업그레이드하기 위해해야 ​​할 일은 디렉토리를 제거하고 새로운 것을 압축 해제하는 것입니다. 이 새로운 GHC 설치가/opt/haskell에있는 모든 패키지를 인식하도록하려면 어떻게합니까? 새 GHC로 모든 패키지를 다시 컴파일해야합니까? 벌크 등록 명령이 있습니까?

감사합니다.

답변

1

이것은 좋지 않은 아이디어입니다. 하나의 GHC로 컴파일 된 패키지는 다른 GHC로 컴파일 된 패키지와 호환되지 않습니다. ABI는 안정적이지 않으며, 새로운 주요 버전의 GHC로 업그레이드하면 이전에 컴파일 된 라이브러리가 작동하지 않는다는 것을 실질적으로 보장합니다. GHC를 업그레이드 할 때 패키지를 다시 컴파일해야합니다.

이 GHC FAQ 항목을 참조하십시오. Do I have to recompile all my code if I upgrade GHC?

+0

감사합니다. 부끄러운 생각 ... :(~/.cabal 또는 일부 전역에있는 패키지가 많으면 적어도 불편합니다. 적어도 새로운 컴파일러로 모든 사용 가능한 패키지를 대량 재 컴파일하는 편리한 방법이 있습니까? –

+0

'cabal install --reinstall world'는 그렇게해야합니다. – ehird

관련 문제