내 cabal 패키지는 FUBAR입니다. 어떻게 제거하고 다시 시작할 수 있습니까?
~/.cabal/config
새 컴퓨터에 여러 패키지를 설치하기 전에 프로파일 링을 위해 라이브러리 빌드를 활성화하는 것을 잊었고 이제 --reinstall world
상황을 수정하려는 시도로 인해 모든 것이 (자연스럽게) 손상되었습니다.
나는 모든 것을 제거하는 것이 내 시간을 더 잘 사용한다고 생각합니다. 어떻게 올바르게 수행합니까?
Cabal은 설치된 항목을 추적하지 않고 ghc의 라이브러리 메커니즘 (또는 ghc를 사용하지 않는 경우 다른 컴파일러의 메커니즘)을 사용하므로 rm -r ~/.ghc
로컬에 설치된 모든 라이브러리를 제거 하는 데 사용할 수 있습니다 .
여러 개의 ghc가 설치되어 있고 특정 ghc에 대한 libs 만 제거하려는 경우 제거하려는 ghc에 해당하는 하위 디렉토리를 삭제합니다.
예를 들어 ghc-7.6.0 용으로 설치 한 모든 것을 제거 rm -r ~/.ghc/x86_64-linux-7.6.0.20120810
할 수 있습니다. 원하는 경우이를 사용하여 ghci_history를 보존 할 수도 있습니다.
ll ~/.ghc/
total 24
-rw-r--r-- 1 johnl johnl 2300 Aug 21 11:47 ghci_history
drwxr-xr-x 3 johnl johnl 4096 Jun 17 19:09 x86_64-linux-6.12.3
drwxr-xr-x 3 johnl johnl 4096 May 17 08:17 x86_64-linux-7.2.1
drwxr-xr-x 3 johnl johnl 4096 May 16 17:34 x86_64-linux-7.4.1
drwxr-xr-x 3 johnl johnl 4096 Jun 15 08:21 x86_64-linux-7.4.2
drwxrwxr-x 3 johnl johnl 4096 Aug 15 12:37 x86_64-linux-7.6.0.20120810
편집 : ~/.cabal/world
사용자가 지정한 버전 제한이있는 설치된 패키지 목록입니다. 따라서 대부분의 경우 예를 들어 mtl -any
. 를 발행하는 등 특정 버전의 패키지를 설치 한 경우 cabal install mtl-2.1.1
해당 버전이 기록됩니다. 월드 파일을 삭제하고 다시 시작할 수 있어야합니다. 또는 파일을 살펴보고 종속성이 허용되는 경우 cabal install world
. 아니면 무시하고 cabal의 세계 지원을 사용하지 않을 수도 있습니다 (그게 제가하는 일입니다).
이 ghc-pkg-reset 쉘 스크립트는 ~ / .ghc / 및 ~ / .cabal /을 조금 더 선택적으로 정리합니다. (그리고 함께 제공되는 ghc-pkg-clean 스크립트는 혼동 된 패키지 설치에서 복구하는 데 도움이 될 수 있으며, 아마도 재설정을 피할 수 있습니다.) 나는 이것이 유용하다고 생각합니다.
'Program Tip' 카테고리의 다른 글
PHP / HTML 혼합 코드를 올바르게 들여 쓰는 방법은 무엇입니까? (0) | 2020.11.28 |
---|---|
C #을 사용하여 전역 단축키 설정 (0) | 2020.11.28 |
파이썬에 상응하는 auto.arima () (0) | 2020.11.28 |
(C # 7.2) "private protected"한정자의 사용 사례는 무엇입니까? (0) | 2020.11.28 |
MySQL의 기본 ON DELETE 동작은 무엇입니까? (0) | 2020.11.28 |