Problemas recurrentes
ghcup: antivirus en Windows rompe la instalación de msys2
Sección titulada «ghcup: antivirus en Windows rompe la instalación de msys2»Si en la instalación de ghcup el componente msys2 se rompe con un mensaje de error similar a éste:

desactivá temporariamente tu antivirus de Windows.
ghcup sale con exit code > 0
Sección titulada «ghcup sale con exit code > 0»Existe una página específica de Troubleshooting donde vas a encontrar que puede haber problemas
- si tenés Windows Defender activado (o algún otro antivirus)
- si tu máquina utiliza un proxy, o una máquina que pueda bloquearte puertos o páginas (tenelo en cuenta si estás utilizando una máquina de tu trabajo)
- si alguno de los certificados que tenés instalado para acceder a páginas https está vencido o incorrectamente instalado
ghcup: Linux y Ubuntu
Sección titulada «ghcup: Linux y Ubuntu»Luego de correr el comando curl de instalación de ghcup pasa una de estas dos cosas:
- No reconoce curl
- O bien tira el error
"ghcup --metadata-fetching-mode=Strict --cache install ghc recommended" failed!La forma de resolverlo es instalar los prerrequisitos que figuran acá:
Por ejemplo, en Ubuntu 24.04, hay que correr
sudo apt install build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5Invalid argument (invalid character)
Sección titulada «Invalid argument (invalid character)»Si tenés configurada una terminal que no acepta caracteres unicode, tenés que exportar esta variable:
export LC_ALL=C.UTF-8(incorporalo a tu .bashrc o script favorito cada vez que inicies la consola)
Al ejecutar el comando stack recibo un mensaje de error
Sección titulada «Al ejecutar el comando stack recibo un mensaje de error»Si ejecutás este comando
stack new proyecto-test https://github.com/uqbar-project/pdepreludat/releases/download/latest/pdepreludat.hsfilesy recibís un mensaje de error similar a
RedownloadInvalidResponse Request { host = "raw.githubusercontent.com" port = 443 secure = True ...revisá la versión de stack que tenés instalada (siempre en la consola o en el Git Bash).
stack --versionDeberías ver la versión 2.5.1 ó superior, si tenés una versión anterior ejecutá el siguiente comando:
stack upgradeDe esta manera tendrás la última versión de stack instalada en tu máquina.
Permission denied al ejecutar un comando stack en Windows
Sección titulada «Permission denied al ejecutar un comando stack en Windows»Si al intentar ejecutar stack build, stack test o cualquier otro comando stack te aparece un mensaje de error del tipo Permission denied

-
revisá que no tengas caracteres especiales en el path de tu proyecto. Por ejemplo (espacios, eñes,
°, tildes,&, etc.). Si te encontrás en Windows y en particular es tu carpeta de usuario la que contiene uno de estos caracteres especiales, el error que podés encontrar es del tipo lexical error in pragma at character. En este caso es necesario crear un nuevo usuario del sistema para que genere una nueva carpeta de usuario sin estos elementos. Además tenés que reinstalar el entorno para este útimo. -
revisá si está corriendo de fondo tu antivirus de Windows, si es así deshabilitalo o configurá para que no haga chequeos en la carpeta donde tenés tus proyectos Haskell.
El antivirus también puede causar que el comando stack build/test tarde (porque analiza los archivos que genera stack). Lo recomendable es desactivarlo al menos para la carpeta del proyecto donde estés.
- por último, si ninguna de las opciones anteriores te funciona y seguís recibiendo un
Permission Denied, iniciá la sesión de Git Bash como Administrador
Espacio insuficiente en disco para ejecutar stack ghci/test
Sección titulada «Espacio insuficiente en disco para ejecutar stack ghci/test»Si tenés muy poco espacio en el directorio /tmp (espacio temporal de memoria swap), fijate este artículo que te dice cómo resolverlo.
Haskell: cannot find -ltinfo al hacer stack build en ubuntu
Sección titulada «Haskell: cannot find -ltinfo al hacer stack build en ubuntu»Si al hacer stack build / stack ghci / stack test te aparece el siguiente mensaje:
ExecutionFailure [PrettyException (CabalExitedUnsuccessfully (ExitFailure 1) (PackageIdentifier {pkgName = PackageName "hspec-core", pkgVersion = mkVersion [2,9,7]}) "/home/..../.stack/setup-exe-cache/x86_64-linux/Cabal-simple_SvXsv1f__3.6.3.0_ghc-9.2.5" ["--verbose=1","--builddir=.stack-work/dist/x86_64-linux/Cabal-3.6.3.0","build", "--ghc-options"," -fdiagnostics-color=always"] Nothing [])]
Según la ayuda de stack overflow, deberías ejecutar este comando:
sudo apt install libtinfo-dev[S-7282] Stack failed to execute the build plan. /// Failed to load interface for Text.Pretty.Simple.Internal.Color
Sección titulada «[S-7282] Stack failed to execute the build plan. /// Failed to load interface for Text.Pretty.Simple.Internal.Color»Si se cortó la instalación a la mitad por algún error (desconexión a internet, corte de luz, etc) puede que stack muestre este error al intentar correr stack test de nuevo:
Si tenes este problema, podés correr lo siguiente para eliminar completamente la librería que esta causando el problema, que es la que se menciona acá:
There are files missing in the nombre de la libreria package, try running ‘ghc-pck check’.
La forma de arreglar el problema es:
stack exec -- ghc-pkg unregister --force pretty-simple-4.1.2.0lo cual va a eliminar esa biblioteca. Y luego, se puede continuar la instalación con:
stack testVisual Studio Code
Sección titulada «Visual Studio Code»No puede encontrarse el módulo PdePreludat
Sección titulada «No puede encontrarse el módulo PdePreludat»Si en el Visual Studio Code te aparece el mensaje: Could not find module 'PdePreludat' en una ventana similar a la siguiente

fijate que tenés que levantar Visual Studio Code en la carpeta de tu proyecto Haskell (en el caso de la imagen, en proyecto-test).