2015-10-03 46 views
13

I Ho appena aggiornato a Mac OSX El Capitan ieri, trovando che il metodo che usavo per eseguire Haskell sul terminale non funziona più.Come eseguire Haskell su OSX El Capitan

Ho usato per eseguire Haskell sul terminale digitando cd (the path where my .hs file is in), quindi digitare ghci, e infine digitare :l (.hs file name)

Ma mi ha detto che durante la digitazione -bash: ghci: command not foundghci.

Quindi, come potrei eseguire Haskell su El Capitan? Non ho familiarità con il computer e sto solo imparando occasionalmente alcuni algoritmi per divertimento, quindi per favore evita i termini tecnici e dammi alcuni passaggi chiari da seguire.

(Non so se sia d'aiuto o meno, ho trovato questo links, suggerisce che non è necessario reinstallare l'intera piattaforma, ma non so come scaricare ed eseguire il file eseguibile allegato da github.)

+0

fa './Ghci' funziona? – jaket

+0

@jaket Ho digitato './Ghci' e ho ottenuto lo stesso risultato' -bash:./ ghci: Nessun file o directory " – CYC

+0

@zenith Ho scaricato un pacchetto da https://www.haskell.org ad agosto, l'ho installato e quindi funziona correttamente. – CYC

risposta

10

Haskell utilizzato per installarsi a /usr/bin, che è incompatibile con le nuove funzionalità di sicurezza in El Capitan. Così l'installatore El Capitan ha semplicemente rimosso tutto in /usr/bin che non appartiene a questo.

Il nuovo programma di installazione Haskell in your link fornisce un'alternativa che si installa correttamente nel normale percorso /usr/local/bin. Puoi usarlo. Ecco le istruzioni:

  1. Scarica the installer.
  2. Fare clic con il tasto destro e selezionare "Apri".
  3. Selezionare nuovamente "Apri" nella finestra di dialogo.

Se non si desidera reinstallare l'intera piattaforma Haskell, è sufficiente eseguire the script dallo stesso post, ad es. con il seguente comando:

curl -fsSL https://raw.githubusercontent.com/mzero/haskell-platform/master/hptool/os-extras/osx/bin/activate-hs | sh 
+0

Ho coped e incollato 'curl -fsSL ... | sh' nel terminale, ma dice 'Devi essere root per attivare una particolare piattaforma Haskell. Eseguire di nuovo questo comando sudo: sudo sh ' – CYC

+2

Sostituire' sh' con 'sudo sh'. – emlai

+0

Dice 'ATTENZIONE: l'uso improprio del comando sudo potrebbe causare la perdita di dati o la cancellazione di file di sistema importanti. Si prega di ricontrollare la propria battitura quando si usa sudo. Digita "man sudo" per maggiori informazioni. Per continuare, immettere la password o digitare Ctrl-C per interrompere. È OK? Sono un po 'spaventato dal momento che non ho idea di cosa sto facendo. – CYC

0

avevo bisogno di creare/usr/local/bin e/usr/local/share prima di installarlo.

2

Se Haskell è stato installato prima dell'aggiornamento, non è necessario reinstallarlo.

Per qualche motivo lo script activate-hs menzionati nelle altre soluzioni cerca di creare i link simbolici in /usr/bin e /usr/share, che non riuscirà a causa della SIP (non riesco a capire il motivo per cui lo script fa questo).

Tuttavia, questo script può essere facilmente modificato per creare i collegamenti simbolici in /usr/local/. Ho inserito una versione modificata dello script here (vedere le righe da 283 a 289).

Se siete pigri e fidarsi ciecamente di me, si può semplicemente eseguire il seguente:

curl -fsSL https://gist.githubusercontent.com/johnjcamilleri/1ed5db5eb4bd26a97afb/raw/654eda72af4cdb6f47f4fad3c7d7823449716007/activate-hs | sudo sh 
+0

Questo ha fatto il trucco, grazie mille! –

0

Mi piace molto Haskell per Mac. http://haskellformac.com/

Un bel IDE Haskell per Mac. Nessuna configurazione, gestione dei pacchetti, ecc. Richiesta.

Problemi correlati