Чтобы уточнить, если я правильно понимаю вас, вы не нарушаете GHC в любом случае. Я полагаю, вы ссылаетесь на установку пакета, который затем переустанавливает одну из базовых зависимостей другого пакета, поэтому нарушает цепочку зависимостей другого пакета и не позволяет ему правильно работать/компилироваться при использовании. Простое удаление .ghc из вашей домашней папки и повторное выполнение инсталляций cabal обычно решают эту проблему, хотя и очень болезненно.
Когда вы используете cabal-dev, все шаги установки cabal и шаги регистрации ghc-pkg выполняются в локальной среде песочницы. Ваши глобальные/пользовательские пакеты ghc: совсем не тронут. Поскольку вы, как правило, создаете одну изолированную изолированную оболочку cabal-dev для каждого проекта, столкновения, подобные описанным выше, обычно не происходят.
Чтобы ответить на ваш вопрос - это полностью зависит от того, что уже установлено в этой конкретной изолированной песочнице cabal-dev. Если конфликтов нет, это ничего не сломает. Если вы форсируете --reinstall
, вам может понадобиться --reinstall
любые пакеты в локальной изолированной программной среде cabal-dev, которые зависят от пакета, который вы только что переустановили.
В любом случае, установка GHC сама по себе не сломается (или не будет изменена каким-либо образом), и вы всегда можете найти rm -rf cabal-dev
под своей папкой проекта и повторить cabal-dev install
.
Надеюсь, это поможет.