2011-11-10 17 views
13

Así que me gustaría configurar una máquina de Linux para el desarrollo de Haskell con una gran advertencia: no hay privilegios de root en esta máquina. Por supuesto, podríamos conseguir que los administradores instalaran GHC para nosotros eventualmente. Sin embargo, a largo plazo, tenemos que molestarlos cuando queremos actualizar, etc. Mucho mejor para hacer todo en el mundo del usuario. Lo que también significa que querremos instalar las librerías a las que nos vinculamos en el sitio del usuario, etc. para mantener todo lo más libre de problemas posible.Instalación de GHC sin raíz

Entonces, la pregunta es, ¿cómo, sopa a nueces, podría hacer una instalación puramente de GHC? La máquina tendrá gcc y la cadena de herramientas habitual. Si es necesario, podemos comenzar con una instalación típica de ghc para poner en marcha la bola, pero sería bueno no hacerlo.

Además, se agradecerá cualquier sugerencia sobre la gestión de un entorno como este, especialmente sobre cómo una configuración de este tipo puede ser manejable con múltiples desarrolladores/cuentas.

Respuesta

4

Obviamente necesita un directorio que todos los usuarios pertinentes tengan al menos permiso de lectura. Diga/home/foo, con los subdirectorios bin, lib, share, .cabal. Luego ./configure --prefix=/home/foo y make & & haz la instalación, y asegúrate de que/home/foo/* esté antes/usr/* en PATH, LIBRARY_PATH, etc. de todo el mundo. Probablemente deberías comenzar instalando gcc y c-libs, y cuando todo C instalado, instale ghc.

+0

En particular, deberá instalar una distribución ghc binaria desde http://haskell.org/ghc/download_ghc_7_2_1#binaries, ya que necesita ghc para arrancar la autocompilación. –

6

Hice esto también. Creé un directorio ~/usr y pasé --prefix=$HOME/usr a todos los scripts de configuración. El uso de la plataforma Haskell hace que este proceso sea aún más fluido.

1

Logré instalar ghc a través de la pila por following these instructions. Funcionó a las mil maravillas; Lo único adicional que tuve que hacer fue instalar the GMP library y agregarlo al LD_LIBRARY_PATH.

+0

¿Está seguro de que esto no requirió permisos de raíz en algún momento? Las formas estándar de instalar Stack all do, AFAIK. – leftaroundabout

+0

No tengo permisos de root para la máquina en la que instalé esto, así que sí, estoy seguro :-) Las instrucciones a las que me he vinculado simplemente descargan una versión binaria de la pila, y luego apilan simplemente las descargas de GHC y GHCI y las colocan en su ~/.stack directorio. – Nicole

+0

@leftaroundabout, parece que las instrucciones vinculadas instalan Stack en un directorio específico del usuario. – dfeuer