2014-06-09 2 views
7

Qualcuno ha provato a eseguire Swift REPL in una sessione SSH locale o remota?È possibile eseguire Swift REPL in una sessione SSH?

xcrun swift funzionare grande all'interno di una sessione di terminale locale, ma non riesce per me con

error: failed to launch REPL process: process exited with status -1) (lost connection)

in una sessione SSH (sia in remoto tramite iPad o quando ssh'd in localhost direttamente sul mio desktop Mac).

+0

qual è il comando ssh? provi a eseguire il REPL direttamente o all'interno di una shell di login come bash? – Thilo

risposta

7

Il problema è che OSX sta cercando di richiedere graficamente la password, ma non può fare quello su SSH. Per aggirare questo problema, è necessario abilitare la modalità sviluppatore sulla macchina. Probabilmente lo hai fatto (inconsapevolmente) eseguendo il debug di un progetto in Xcode, che ti chiede di abilitare la modalità sviluppatore.

Developer mode prompt

È inoltre possibile eseguire questo dalla riga di comando (di cui oltre SSH):

sudo /usr/sbin/DevToolsSecurity --enable 
+0

Grazie, Kevin, è molto perspicace. –

1

Supponendo swift si trova nel percorso della shell:

$ ssh -t localhost swift 
Password: 
Welcome to Swift! Type :help for assistance. 
    1> 1 
$R1: Int = 1 
    2> var foo = 10 
foo: Int = 10 
    3> foo + 1 
$R2: Int = 11 

e da remoto:

$ ssh -t [email protected] swift 
Password: 
Welcome to Swift! Type :help for assistance. 
    1> 1 
$R1: Int = 1 
    2> 10 
$R2: Int = 10 
    3> 
+0

Grazie! Il REPL ora sta funzionando bene per me all'interno di una sessione SSH (sia da Terminal a localhost, sia dal mio iPad usando Prompt). Forse ho solo bisogno di riavviare il mio Mac dopo aver installato XCode 6 o cambiare l'ambiente per usare XCode 6. –

+0

Gradirei un "voto alto" (rendendosi conto di aver cambiato idea su "una risposta") – GoZoner