macos añadir - Establecer variables de entorno en Mac OS X Lion




8 Answers

Primero, una cosa que se debe reconocer acerca de OS X es que está construido en Unix. Aquí es donde entra en juego el .bash_profile. Cuando inicias la aplicación Terminal en OS X, obtienes un shell bash por defecto El shell bash proviene de Unix y cuando se carga ejecuta el script .bash_profile. Puede modificar este script para que su usuario cambie su configuración. Este archivo se encuentra en:

~/.bash_profile

Actualización para Mavericks

OS X Mavericks no utiliza environment.plist, al menos no para las aplicaciones de Windows OS OS. Puede utilizar la configuración de launchd para aplicaciones de ventana. El .bash_profile todavía es compatible ya que es parte del shell bash utilizado en Terminal.

León y león de montaña solamente

Las aplicaciones de Windows OS X reciben variables de entorno del archivo environment.plist. Esto es probablemente lo que quieres decir con el archivo ".plist". Este archivo se encuentra en:

~/.MacOSX/environment.plist

Si realiza un cambio en su archivo environment.plist, entonces las aplicaciones de Windows de OS X, incluida la aplicación Terminal, tendrán configuradas esas variables de entorno. Cualquier variable de entorno que establezca en su .bash_profile solo afectará sus shells de bash.

Generalmente solo establezco variables en mi archivo .bash_profile y no cambio el archivo .plist (o el archivo launchd en Mavericks). La mayoría de las aplicaciones de ventanas de OS X no necesitan ningún entorno personalizado. Solo cuando una aplicación realmente necesita una variable de entorno específica, cambio el archivo environment.plist (o launchd en Mavericks).

Parece que lo que quiere es cambiar el archivo environment.plist, en lugar de .bash_profile.

Una última cosa, si buscas esos archivos, creo que no los encontrarás. Si recuerdo correctamente, no estaban en mi instalación inicial de Lion.

Edición: Aquí hay algunas instrucciones para crear un archivo plist.

  1. Abrir Xcode
  2. Seleccione Archivo -> Nuevo -> Nuevo archivo ...
  3. Bajo Mac OS X seleccione Recursos
  4. Elija un archivo plist
  5. Sigue el resto de las indicaciones.

Para editar el archivo, puede presionar Control y hacer clic para obtener un menú y seleccionar Agregar fila. A continuación, puede agregar un par de valores clave. Para las variables de entorno, la clave es el nombre de la variable de entorno y el valor es el valor real para esa variable de entorno.

Una vez creado el archivo plist, puede abrirlo con Xcode para modificarlo cuando lo desee.

como python

Cuando alguien dice "edita tu archivo .plist" o "tu .profile" o ".bash_profile", etc., esto me confunde. No tengo idea de dónde están estos archivos, cómo crearlos si tengo que hacer eso, etc., y también por qué parece haber tantos diferentes (¿por qué? ¿Hacen cosas diferentes?)

Entonces, ¿podría alguien explicar muy pacientemente a un usuario anterior de Windows (queriendo desesperadamente familiarizarse con el agradable mundo de OS X, inicialmente algo confuso) cómo hacer esto paso a paso?

Necesito que las variables se configuren tanto para aplicaciones GUI como para aplicaciones de línea de comandos, y en este momento es para un script ant que necesita las variables, pero probablemente también habrá otras necesidades.

Ten en cuenta que también tengo Lion, ya que muchas de las respuestas que obtienes en Google parecen estar desactualizadas para Lion ...

También tenga en cuenta que prácticamente no tengo experiencia con el Terminal. Estoy dispuesto a aprender, pero por favor explique para un principiante ...




Aquí hay un poco más de información específicamente relacionada con la variable PATH en Lion OS 10.7.x:

Si necesita configurar el PATH globalmente, el sistema lo crea en el siguiente orden:

  1. Analizar el contenido del archivo /private/etc/paths , una ruta por línea
  2. Análisis del contenido de la carpeta /private/etc/paths.d . Cada archivo en esa carpeta puede contener múltiples rutas, una ruta por línea. El orden de carga se determina primero por el nombre del archivo y luego por el orden de las líneas en el archivo.
  3. Una instrucción setenv PATH en /private/etc/launchd.conf , que agregará esa ruta a la ruta ya incorporada en # 1 y # 2 (no debe usar $ PATH para hacer referencia a la variable PATH que se ha creado hasta ahora). Sin embargo, configurar el PATH aquí es completamente innecesario dadas las otras dos opciones, aunque este es el lugar donde se pueden establecer otras variables de entorno global para todos los usuarios.

Todos los usuarios y las aplicaciones heredan estas rutas y variables, por lo que son realmente globales: cerrar sesión y no restablecerán estas rutas, se crean para el sistema y se crean antes de que cualquier usuario tenga la oportunidad de iniciar sesión. por lo que los cambios en estos requieren un reinicio del sistema para que surtan efecto.

Por cierto, una instalación limpia de OS 10.7.x Lion no tiene una lista de environment.plist que pueda encontrar, por lo que puede funcionar pero también puede estar en desuso.




Desafortunadamente ninguna de estas respuestas resolvió el problema específico que tenía.

Aquí hay una solución simple sin tener que meterse con bash . En mi caso, estaba haciendo que gradle funcionara (para Android Studio ).

Por cierto, estos pasos se relacionan con OSX (Mountain Lion 10.8.5)

  • Abre la Terminal.
  • Ejecuta el siguiente comando:

    sudo nano /etc/paths (o sudo vim /etc/paths para vim)

  • Vaya al final del archivo e ingrese la ruta que desea agregar.
  • Pulsa control-x para salir.
  • Introduzca 'Y' para guardar el búfer modificado.
  • Abra una nueva ventana de terminal y luego escriba:

    echo $PATH

Debería ver la nueva ruta adjunta al final de la RUTA

Obtuve estos detalles de este post:

http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q

Espero que pueda ayudar a alguien mas




Lo que me funcionó es crear un .launchd.conf con las variables que necesitaba:

setenv FOO barbaz

Este archivo es leído por launchd al iniciar sesión. Puede agregar una variable 'sobre la marcha' al launchd en ejecución usando:

launchctl setenv FOO barbaz`

De hecho, .launchd.cond simplemente contiene comandos launchctl.

Las variables configuradas de esta manera parecen estar presentes en las aplicaciones GUI correctamente.

Si está intentando configurar sus variables LANG o LC_ de esta manera, y está utilizando iTerm2, asegúrese de deshabilitar la configuración 'Establecer variables de configuración regional automáticamente' en la pestaña Terminal del perfil que está usando. Eso parece anular las variables de entorno de launchd, y en mi caso fue establecer un LC_CTYPE roto que causó problemas en servidores remotos (que superaron la variable).

(La lista environment.plist todavía parece funcionar en mi Lion. Sin embargo, puedes usar el panel de preferencias de RCenvironment para mantener el archivo en lugar de editarlo manualmente o Xcode requerido. Aún parece funcionar en Lion, aunque la última actualización es de Snow Leopard era. Es mi método preferido personalmente.)




Añadiendo variables de ruta a OS X Lion

Esto fue bastante sencillo y funcionó para mí, en la terminal:

$echo "export PATH=$PATH:/path/to/whatever" >> .bash_profile #replace "/path/to/whatever" with the location of what you want to add to your bash profile, i.e: $ echo "export PATH=$PATH:/usr/local/Cellar/nginx/1.0.12/sbin" >> .bash_profile 
$. .bash_profile #restart your bash shell

Una respuesta similar fue aquí: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516




Tuve un problema con Eclipse (comenzó como GUI, no desde un script) en Maverics que no tomaba PATH personalizado. Intenté todos los métodos mencionados anteriormente en vano. Finalmente encontré la respuesta de trabajo más simple basada en sugerencias de here :

  1. Vaya a la carpeta /Applications/eclipse/Eclipse.app/Contents

  2. Edite el archivo Info.plist con editor de texto (o XCode), agregue el diccionario LSEnvironment para la variable de entorno con ruta completa . Tenga en cuenta que incluye también / usr / bin etc:

    <dict>
      <key>LSEnvironment</key>
      <dict>
            <key>PATH</key>
            <string>/usr/bin:/bin:/usr/sbin:/sbin:/dev/android-ndk-r9b</string>
      </dict>
      <key>CFBundleDisplayName</key>
      <string>Eclipse</string>
      ...
    
  3. Actualizar los parámetros para la aplicación con

    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.fra‌​mework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app
    
  4. Reiniciar Eclipse




Tomé la ruta idiota. Se agregaron estos al final de / etc / profile

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

creó una carpeta / etc / environment crea un archivo en él llamado "oracle" o "lo que sea" y agregó las cosas que necesitaba configurarlo globalmente.

/ etc $ cat /etc/environments.d/Oracle

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin



Paso 1: abrir ~/.bash_profile

Ahora se abre un editor de texto:

Paso 2: el nombre de la variable debe estar en mayúsculas. en este ejemplo la variable es NODE_ENV

export NODE_ENV=development 3: export NODE_ENV=development

Guárdalo y cierra.

Reinicie su sistema.

Hecho.

Para comprobar la variable env: abrir terminal y tipo

echo $NODE_ENV 



Related

macos environment-variables osx-lion