Las aplicaciones iniciadas a través de Finder parecen no respetar la RUTA tal como está establecida .bash_profile
. Entonces, cuando intento ejecutar el código desde un IDE (Intellij), ya no tengo acceso a los programas /usr/local/bin
, que normalmente se agregan a mi ruta en la Terminal.
Aparentemente .MacOSX/environment.plist
solía ser la forma de hacerlo, pero ya no funciona en Lion.
¿Cómo puedo configurar las PATH
aplicaciones iniciadas por Finder?
$PATH
en caso de que lo que importa.)Respuestas:
Si tiene 10.7 y no 10.8, la solución a continuación funciona bien:
Tuve el mismo problema con eclipse, pero ahora agregué, por ejemplo, lo siguiente a mi
.bash_profile
y luego funcionó.En caso de que desee dejar la ruta original intacta, use
en su lugar (o simplemente
launchctl setenv PATH /my/new/path:$(launchctl getenv PATH)
).Nota: Cambiar la ruta launchctl no tendrá efecto hasta que el Dock se "reinicie". Un nuevo proceso de Dock se iniciará automáticamente después de que se elimine el actual con el comando:
fuente
set|grep PATH
de ellos siempre devolveráPATH=/usr/bin:/bin:/usr/sbin:/sbin
launchctl
:osascript -e 'tell app "Dock" to quit'
. Eso pareció arreglarlo para mí.Para responder su pregunta a su "nuevo" problema, he decidido escribir otra respuesta, porque es más fácil de explicar con ejemplos.
Una forma de cargar las variables de entorno en el inicio de su herramienta (IDE) de elección es como se puede hacer con eclipse: creo que también debe haber una estructura similar en su herramienta (IDE).
Cómo se puede hacer en eclipse - https://stackoverflow.com/questions/829749/launch-mac-eclipse-with-environment-variables-set
(ligeramente reescrito sobre las variables de entorno)
Cree un archivo de texto vacío llamado "eclipse.sh" en el directorio del paquete de la aplicación Eclipse
/Applications/eclipse/Eclipse.app/Contents/MacOS
Abra eclipse.sh en un editor de texto e ingrese los siguientes contenidos:
En la Terminal, configure el indicador ejecutable del script de shell eclipse.sh, es decir:
chmod +x /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.sh
Abra Eclipse.app Info.plist y cambie el valor de la clave CFBundleExecutable de eclipse a eclipse.sh.
MacOS X no detecta automáticamente que la lista de información de Eclipse.app ha cambiado. Por lo tanto, debe forzar la actualización de la base de datos LaunchService en la Terminal mediante el comando lsregister:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app
La próxima vez que inicie Eclipse.app desde el Dock o desde el Finder, se deben establecer las variables de entorno.
fuente
En OS X 10.10 Yosemite, utilicé este comando:
Tenga en cuenta que establece la ruta de lanzamiento para todos los usuarios . Esto funcionó bien para mi caso de uso. Tenga en cuenta que se le pedirá que reinicie su máquina para que los efectos se establezcan.
fuente
sudo launchctl config user path /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
reiniciar.environment.plist
en la mayoría de los casos.En Mountain Lion todo el
/etc/paths
y/etc/launchd.conf
la edición no tiene ningún efecto!Los foros de desarrolladores de Apple dicen:
Así que
Info.plist
edité directamente la aplicación (haga clic derecho en "AppName.app" (en este caso SourceTree) y luego "Show package contents
")y agregó un nuevo par clave / dict llamado:
(ver: LaunchServicesKeys Documentation en Apple )
ahora la aplicación (en mi caso SourceTree) usa la ruta dada y funciona con git 1.9.3 :-)
PD: Por supuesto, debe ajustar la entrada de ruta a sus necesidades de ruta específicas.
fuente
/etc/launchd.conf
todos modos. Es de suponer que, incluso si las normas no establecen que las aplicaciones deben utilizar sus archivos Info.plist de caminos, aún podrían estar utilizando otros archivos -/etc/launchd.conf
,/etc/paths/
o/etc/paths.d/*
, o '~ / .MacOSX / environment.plist. ¿Es seguro decir que, en la práctica , las rutas para aplicaciones GUI en Mountain Lion podrían establecerse en cualquiera de estos archivos?/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app
como se indica en otra respuesta, después de cambiar plist y 2. agregar la ruta completa allí, no puede usar la RUTA existente como en sus scripts de perfil.lsregister
comando, como lo señaló @JaakL.En Mountain Lion (10.8.4),
$PATH
se trata especialmente de alguna manera.launchctl setenv PATH /your/path:/here
no tiene ningún efecto en las$PATH
instancias en Terminal.app o Emacs.app que se inician posteriormente desde el Dock o desde el Finder (aunquelaunchctl setenv SPONG foo
funciona bien). Tampoco$HOME/.launchd.conf
funciona./etc/launchd.conf
es la única forma en que he encontrado para configurar la RUTA correctamente en todas partes. Desafortunadamente, uno no puede usar envars como$HOME
allí, por lo que todos los usuarios de mi computadora portátil tienen/Users/nb/bin
su$PATH
. Solo soy yo, así que no me importa.fuente
PATH
valor que estableció, pero: cuando crea una nueva terminal, inicia un shell de inicio de sesión, que, si está utilizando bash, se ejecuta/etc/profile
, que se inicializaPATH
al valor devuelto/usr/libexec/path_helper
. Si elige Shell> Nuevo comando ... y ejecutaenv
(no en un shell), debería encontrar que esePATH
es el valor que establece a través de launchd.Intente configurar la ruta en su ~ / .profile o ~ / .bash_profile o ~ / .zprofile (para zsh). Esto funcionó para mí con VimR: no estaba leyendo la RUTA cuando se lanzó desde el muelle, pero funcionó cuando se lanzó desde la terminal. Por cierto, estaba ejecutando OSX 10.11.
No tengo un buen manejo de esto para darle una gran explicación de por qué funciona, hay muchas explicaciones en línea sobre los diferentes archivos de configuración y lo que hacen: https://stackoverflow.com/questions/415403/ cuál es la diferencia entre bashrc-bash-profile-and-environment
Además, vea una discusión similar aquí: https://stackoverflow.com/questions/3344704/path-variable-not-properly-set-in-gvim-macvim-when-it-is-opened-from-the-finder/ 24542893 # 24542893
fuente
En Mac OS X 10.8.4, Mountain Lion, el entorno de ruta incorpora las rutas enumeradas en este archivo:
Puede editar este archivo utilizando una herramienta de línea de comandos, como
vim
el siguiente comando:fuente