¿He actualizado mi cabal-install?
Acabo de instalar Haskell desde es el sitio oficial . Después de eso, siguiendo su tutorial de inicio rápido.
Corro:
cabal update
Que muestra este mensaje:
Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install
Corro:
cabal install cabal-install
Y compruebe si la actualización se realizó correctamente con
cabal update
El resultado, me muestra el mismo mensaje desde el principio:
Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install
Entonces, ¿actualizé la instalación de la cábala o no? ¿Cómo compruebo la versión de mi cabal?
Importante: Estoy usando el 64 versión de bits para Mac OS X.
9 answers
Tuve un problema similar después de instalar la plataforma Haskell 2012.4.0.0
en OSX. Cuando corrí cabal install cabal-install
, terminó con:
cabal: ../ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal: does not exist
Así que supuse que tenía sus caminos mezclados en alguna parte. Sin embargo, el ejecutable fue realmente construido con éxito (comprobar para ~/Library/Haskell/ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal
) y acabo de copiarlo desde allí a ~/Library/Haskell/bin
que está en mi camino.
A partir de entonces todo funcionó bien:
$ which cabal
/Users/luke/Library/Haskell/bin/cabal
$ cabal update
Downloading the latest package list from hackage.haskell.org
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0.3 of the Cabal library
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-19 01:28:15
En mi caso (y probablemente otros?) cabal se instala inicialmente en /usr/local/bin
por homebrew al instalar haskell-platform
. Al actualizar cabal, la versión se instala en $HOME/.cabal/bin/cabal
. Usted debe colocar sus contenedores de la cábala más alto en su $PATH
, así:
export PATH=$HOME/.cabal/bin:$PATH
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-15 18:28:35
Todo el mundo parece experimentar un problema ligeramente diferente aquí. En mi caso, cabal
fue construido con éxito e instalado en ~/Library/Haskell/bin
.
Como se indica en ~/.cabal/config
, agregar ~/Library/Haskell/bin
a PATH
resolvió el problema.
Abajo está la descripción en ~/.cabal/config
:
-- === Built executables will be installed in:
-- ~/Library/Haskell/bin
--
-- You may wish to place this on your PATH by adding the following
-- line to your ~/.bash_profile:
-- export PATH="$HOME/Library/Haskell/bin:$PATH"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-01 23:02:06
En OS X 10.8 tuve que añadir /Library/Haskell/bin
a mi RUTA (ponerla antes de /usr/bin
). Añadiendo que se ha corregido el mensaje de error
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-18 02:32:13
cabal --version
te da la versión de la cábala que estás ejecutando. Si quieres ver la versión de cabal-install que tienes, ejecuta cabal info cabal-install
y mira la línea versions installed.
Para mí en OS X, versiones instaladas es [unknown]
, después de ejecutar cabal install cabal-install
, lo cual no es genial.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 05:34:57
Yo también tuve este problema.
Después de ejecutar which cabal
, encontré que estaba usando /usr/bin/cabal
. Eliminar esto resolvió el problema.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-19 22:14:07
Parece que cabal por defecto instala paquetes localmente para el usuario actual y por lo tanto no será parte de la RUTA. Mira el Cabal documentation específicamente paso 1.2.1 donde puede cambiar la configuración para instalar cosas globalmente por defecto (no recomendado).
La forma en que instalé cabal fue cabal --global install cabal-install
pero todavía tenía problemas con la ruta que, desde la instalación predeterminada de Haskell, pone la ruta en este orden C:\Program Files\Haskell Platform\2013.2.0.0\lib\extralibs\bin;C:\Program Files\Haskell Platform\2013.2.0.0\bin;
donde la primera ruta tiene prioridad sobre el segundo. Con la bandera cab global cabal instalado el binario a C:\Program Files\Haskell\bin
que no está en mi ruta, pero debe ser añadido antes de la ruta C:\Program Files\Haskell Platform\2013.2.0.0\lib\extralibs\bin
.
Tomado de la documentación
Debes poner a la cábala.exe en un directorio que está en su % PATH%, por ejemplo C:\Program Files \ Haskell \ bin.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-12 08:43:23
En mi caso, se requirió una combinación de varias respuestas para superar este problema. Intentaré proporcionar una solución más completa en una respuesta para cualquier otra persona en mi situación.
- Para empezar, ejecutar
which cabal
me mostró que/usr/bin/cabal
se estaba cargando, que era un enlace simbólico a/Library/Haskell/ghc-7.8.3-x86_64/bin/cabal
. Creo que se estaban instalando versiones más nuevas de cabal, pero este camino era específico para una sola versión, por lo que fueron ignorados. Agregar/Library/Haskell/bin
al frente de mi$PATH
remedió eso situación. - En segundo lugar, y lo más importante, las nuevas versiones de
cabal-install
se estaban instalando en mi caja de arena cabal en lugar de la ubicación del sistema. No vi ninguna otra respuesta que sugiriera esto, pero después de un poco de monkeying alrededor encontré que moverse fuera del directorio de mi aplicación permitió cabal instalar realmente en el sistema. - Finalmente, al agregar la bandera
--global
al comando se solucionó el problema. Mi orden final fuecabal install --global cabal-install
. Después de esto, finalmente pude actualizar correctamente.
TL;DR: si usa sandboxes de cabal, salga del directorio de su proyecto y ejecute cabal install --global cabal-install
. También, compruebe su variable $PATH
como otros han sugerido.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-25 18:16:00
En mi caso la nueva versión de cabal se estaba instalando en el .cabal-sandbox del proyecto en el que estaba.
Por ejemplo, comprobando la versión:
./.cabal-sandbox/bin/cabal --version
, Así que necesitaba actualizarlo fuera de eso. Esto fue en OSX.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-15 15:56:05