2014-09-23 30 views
6

Vorrei poter accedere alla mia variabile JAVA_HOME che è stata impostata nel mio .bash_profile dalla mia creazione di testo sublime. Quando costruisco ottengo il seguente errore.Impostazione delle variabili di ambiente per Sublime Text sul desktop OSX

Errore: JAVA_HOME non è stato definito correttamente. Impossibile eseguire ...

Questo è ovviamente perché ST2 non legge nel mio profilo bash. C'è qualche trucco per questo?

Grazie!

+0

sembra essere già chiesto http://stackoverflow.com/questions/8574919/sublime-text-2- custom-path-and-pythonpath –

+0

Ho letto tutto il thread, niente di tutto ciò ha aiutato. Ho provato la sceneggiatura di Python in basso e nessuna gioia – alexrogins

risposta

6

Sui processi figlio UNIX ereditano l'ambiente del processo padre. In questo caso, Sublime Text non viene lanciato attraverso una catena di processi che include la shell bash che a sua volta sta leggendo il suo file di profilo.

.bash_profile viene in genere eseguito sul login della shell. A seconda del sistema operativo in uso, non viene eseguito quando si accede all'ambiente desktop. Pertanto, le variabili di ambiente non sono disponibili.

Soluzioni alternative

  • variabili di ambiente Put a un file che viene letto sul avvio del computer sempre (nessuna idea di quale file a meno che non informare il sistema operativo) (ad es lanchd.conf for OSX GUI applications o/etc/profile su Linux)

  • Modifica la dekstop icona launcher

  • Mettere hardcoded percorsi file accumulo

  • lancio Sublime Text utilizzando subl alias dalla shell bash, invece di icona sul desktop

More about .bash_profile and .bashrc

+0

Sono su MacOS Mavericks. Idealmente non voglio mettere percorsi hardcoded nel file di build. Sto già lanciando sublime da bash. Per favore, spiega la prima opzione. Grazie – alexrogins

+0

Aggiornamento della risposta su come modificare le variabili d'ambiente per le applicazioni della GUI OSX –

+0

Grazie. Inoltre è stato appena detto che funziona se si installa Java di Apple anziché da Oracle SDK. – alexrogins