Question Définir des variables d'environnement sur Mac OS X Lion


Lorsque quelqu'un dit "éditez votre fichier .plist" ou "votre fichier .profile" ou ".bash_profile", etc., cela me perturbe. Je ne sais pas où sont ces fichiers, comment les créer si je dois le faire, etc., et aussi pourquoi il semble y en avoir autant (pourquoi? Font-ils des choses différentes?)

Alors, quelqu'un pourrait-il s'il vous plaît expliquer très patiemment à un utilisateur Windows précédent (vouloir désespérément devenir plus familier avec le monde agréable d'OS X), mais comment le faire étape par étape?

J'ai besoin que les variables soient définies à la fois pour les applications GUI et les applications en ligne de commande, et pour le moment, il s'agit d'un script ant qui nécessite les variables, mais il y aura très probablement d'autres besoins.

S'il vous plaît noter que j'ai Lion aussi, car la plupart des réponses que vous obtenez Googling semblent être obsolètes pour Lion ...

Notez également que je n'ai pratiquement aucune expérience d'utilisation du terminal. Je suis prêt à apprendre, mais s'il vous plaît expliquer pour un novice ...


492
2017-09-21 14:37


origine


Réponses:


Tout d'abord, une chose à reconnaître à propos d'OS X est qu'il est basé sur Unix. C'est là que le fichier .bash_profile entre en jeu. Lorsque vous lancez l'application Terminal sous OS X, vous obtenez un shell bash par défaut. Le shell bash vient d'Unix et quand il charge, il exécute le script .bash_profile. Vous pouvez modifier ce script pour que votre utilisateur puisse modifier vos paramètres. Ce fichier est situé à:

~/.bash_profile

Mise à jour pour Mavericks

OS X Mavericks n'utilise pas environment.plist - du moins pas pour les applications OS X Windows. Vous pouvez utiliser le configuration launchd pour les applications fenêtrées. Le .bash_profile est toujours pris en charge car il fait partie du shell bash utilisé dans Terminal.

Lion et Lion de montagne seulement

Les applications avec fenêtres OS X reçoivent des variables d'environnement du fichier your environment.plist. C'est probablement ce que vous voulez dire par le fichier ".plist". Ce fichier est situé à:

~/.MacOSX/environment.plist

Si vous apportez une modification à votre fichier environment.plist, les applications Windows OS, y compris l'application Terminal, auront ces variables d'environnement définies. Toute variable d'environnement que vous définissez dans votre fichier .bash n'affectera que vos shell bash.

En général, je ne mets que des variables dans mon fichier .bash_profile et ne modifie pas le fichier .plist (ni le fichier launchd sur Mavericks). La plupart des applications fenêtrées OS X ne nécessitent aucun environnement personnalisé. Ce n'est que lorsque l'application a réellement besoin d'une variable d'environnement spécifique que je modifie le fichier environment.plist (ou launchd sur Mavericks).

Il semble que ce que vous voulez est de changer le fichier environment.plist, plutôt que le .bash_profile.

Une dernière chose, si vous cherchez ces fichiers, je pense que vous ne les trouverez pas. Si je me souviens bien, ils n'étaient pas sur mon installation initiale de Lion.

Modifier: Voici quelques instructions pour créer un fichier plist.

  1. Ouvrir Xcode
  2. Sélectionnez Fichier -> Nouveau -> Nouveau fichier ...
  3. Sous Mac OS X, sélectionnez Ressources
  4. Choisissez un fichier plist
  5. Suivez le reste des invites

Pour modifier le fichier, vous pouvez cliquer sur la touche Contrôle pour afficher un menu et sélectionner Ajouter une ligne. Vous pouvez ensuite ajouter une paire de valeurs clés. Pour les variables d'environnement, la clé est le nom de la variable d'environnement et la valeur est la valeur réelle de cette variable d'environnement.

Une fois le fichier plist créé, vous pouvez l'ouvrir avec Xcode pour le modifier à tout moment.


371
2017-09-21 15:02



Votre ".profile" ou ".bash_profile" sont simplement des fichiers présents dans votre dossier "home". Si vous ouvrez une fenêtre du Finder et cliquez sur le nom de votre compte dans le volet Favoris ... vous ne les verrez pas. Si vous ouvrez une fenêtre Terminal et tapez "ls" pour lister les fichiers ... vous ne les verrez toujours pas. Mais vous pouvez les trouver en utilisant "ls -a" dans le terminal. Ou si vous ouvrez votre éditeur de texte favori (dites TextEdit car il est livré avec OS X) et faites Fichier-> Ouvrir et appuyez sur Commande + Maj +. et cliquez sur le nom de votre compte (dossier de départ), vous les verrez également. Si vous ne les voyez pas, vous pouvez simplement en créer un dans votre éditeur de texte favori.

Maintenant, l'ajout de variables d'environnement est assez simple et remarquablement similaire à Windows. Dans votre fichier .prof, ajoutez simplement un par ligne, le nom de la variable et sa valeur comme suit:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

etc.

Si vous modifiez votre variable "PATH", veillez à inclure le PATH par défaut du système qui a déjà été défini pour vous:

export PATH=$PATH:/path/to/my/stuff

Maintenant, voici la partie bizarre, vous pouvez soit ouvrir une nouvelle fenêtre Terminal pour que les nouvelles variables prennent effet, soit vous devez taper ".profile" ou ".bash_profile" pour recharger le fichier et appliquer le contenu. à l'environnement de votre Terminal actuel.

Vous pouvez vérifier que vos modifications ont pris effet à l'aide de la commande "set" dans votre Terminal. Tapez simplement "set" (ou "set | more" si vous préférez une liste paginée) et assurez-vous que ce que vous avez ajouté au fichier est là.

Quant à l'ajout de variables d'environnement aux applications GUI, ce n'est normalement pas nécessaire et j'aimerais en savoir plus sur ce que vous essayez de faire pour mieux vous donner une réponse.


196
2017-09-21 15:07



Voici un peu plus d'informations concernant spécifiquement la variable PATH dans Lion OS 10.7.x:

Si vous devez définir globalement le PATH, le PATH est construit par le système dans l'ordre suivant:

  1. Analyser le contenu du fichier /private/etc/paths, un chemin par ligne
  2. Analyser le contenu du dossier /private/etc/paths.d. Chaque fichier de ce dossier peut contenir plusieurs chemins, un chemin par ligne. L'ordre de chargement est déterminé par le nom du fichier en premier, puis l'ordre des lignes dans le fichier.
  3. UNE setenv PATH déclaration en /private/etc/launchd.conf, Qui va ajouter ce chemin d'accès au chemin déjà construit en # 1 et # 2 (vous ne devez pas utiliser $ PATH pour référencer la variable PATH qui a été construite jusqu'à présent). Mais, la définition du PATH ici est complètement inutile étant donné les deux autres options, bien que ce soit l'endroit où d'autres variables d'environnement globales peuvent être définies pour tous les utilisateurs.

Ces chemins et variables sont hérités par tous les utilisateurs et applications, donc ils sont vraiment globaux - se déconnecter et ne réinitialiseront pas ces chemins - ils sont construits pour le système et sont créés avant que tout utilisateur ait la possibilité de se connecter, par conséquent, les modifications apportées à ces derniers nécessitent un redémarrage du système pour prendre effet.

BTW, une installation propre de OS 10.7.x Lion n'a pas de environment.plist que je peux trouver, donc ça peut marcher mais peut aussi être déconseillé.


74
2018-01-12 20:16



echo $PATH

il imprime la valeur du chemin actuel

Alors fais vim ~/.bash_profile et écrire

export PATH=$PATH:/new/path/to/be/added

ici, vous êtes en train de rejoindre le vieux chemin, ainsi préserve l'ancien chemin et y ajoute votre nouveau chemin

alors fais

source ~/.bash_profile

cela va l'exécuter et ajouter le chemin

puis vérifier à nouveau avec

echo $PATH

45
2017-08-11 21:31



Malheureusement, aucune de ces réponses n'a résolu le problème spécifique que j'avais.

Voici une solution simple sans avoir à jouer avec bash. Dans mon cas, il devenait gradle travailler pour Android Studio).

Btw, Ces étapes concernent OSX (Mountain Lion 10.8.5)

  • Ouvrez le terminal.
  • Exécutez la commande suivante:

    sudo nano /etc/paths (ou sudo vim /etc/paths pour vim)

    nano

  • Allez au bas du fichier et entrez le chemin que vous souhaitez ajouter.
  • Hit contrôle-x pour quitter.
  • Entrez 'Y' pour enregistrer le tampon modifié.
  • Ouvrez une nouvelle fenêtre de terminal puis tapez:

    echo $PATH

Vous devriez voir le nouveau chemin ajouté à la fin du PATH

J'ai reçu ces détails de ce post:

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

J'espère que cela peut aider quelqu'un d'autre


30
2017-09-24 03:21



Explication simplifiée

Ce post / question est assez ancien, je vais donc répondre à une version simplifiée pour les utilisateurs d'OS X Lion. Par défaut, OSX Lion ne possède aucun des fichiers suivants:

  • ~ / .bashrc
  • ~ / .bash_profile
  • ~ / .profile

Tout au plus, si vous avez fait quelque chose dans le terminal, vous pourriez voir ~ / .bash_history

Ce que cela veut dire

Vous devez créer le fichier pour définir vos commandes bash par défaut (généralement dans ~ / .bashrc). Pour ce faire, utilisez n'importe quel éditeur, bien qu'il soit plus simple de le faire dans le terminal:

  1. %> emacs .profile
  2. [de w / dans le type emacs:] source ~/.bashrc
  3. [de w / dans le type emacs:] Ctrl + x Ctrl + s (pour enregistrer le fichier)
  4. [de w / dans le type emacs:] Ctrl + x Ctrl + c (pour fermer emacs)
  5. %> emacs .bashrc
  6. [à partir de w / dans emacs tapez / collez toutes vos commandes bash, enregistrez et quittez]

La prochaine fois que vous quittez et rechargez le terminal, il devrait charger toutes vos préférences de bash. Pour faire bonne mesure, c'est généralement une bonne idée de séparer vos commandes en noms de fichiers utiles. Par exemple, depuis ~ / .bashrc, vous devriez avoir un source ~/.bash_aliases et mettez toutes vos commandes d'alias dans ~ / .bash_aliases.


23
2018-06-06 01:36



Ce qui a fonctionné pour moi est de créer un .launchd.conf avec les variables dont j'avais besoin:

setenv FOO barbaz

Ce fichier est lu par launchd lors de la connexion. Vous pouvez ajouter une variable à la volée au launchd en cours d'exécution en utilisant:

launchctl setenv FOO barbaz`

En réalité, .launchd.cond contient simplement des commandes launchctl.

Les variables définies de cette manière semblent être présentes dans les applications GUI correctement.

Si vous tentez de définir vos variables LANG ou LC_ de cette manière et que vous utilisez iTerm2, veillez à désactiver le paramètre "Définir automatiquement les variables locales" dans l'onglet Terminal du profil que vous utilisez. Cela semble surcharger les variables d'environnement de launchd, et dans mon cas c'était la configuration d'un LC_CTYPE cassé causant des problèmes sur les serveurs distants (qui ont passé la variable).

(Le fichier environment.plist semble toujours fonctionner sur mon Lion. Vous pouvez utiliser le RCenvironment panneau de préférences pour maintenir le fichier au lieu de le modifier manuellement ou Xcode requis. Il semble encore fonctionner sur Lion, même si sa dernière mise à jour est de l'ère Snow Leopard. Fait ma méthode personnellement préférée.)


18
2017-10-26 12:57



Configurez votre variable d'environnement PATH sur Mac OS

Ouvrez le programme Terminal (il se trouve par défaut dans votre dossier Applications / Utilites). Exécutez la commande suivante

touch ~/.bash_profile; open ~/.bash_profile

Cela ouvrira le fichier dans votre éditeur de texte par défaut.

Pour ANDROID SDK comme exemple:

Vous devez ajouter le chemin d'accès au répertoire de votre plate-forme SDK Android: outils et outils. Dans mon exemple, j'utiliserai "/ Development / android-sdk-macosx" comme répertoire dans lequel le SDK est installé. Ajoutez la ligne suivante:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

Enregistrez le fichier et quittez l'éditeur de texte. Exécutez votre .bash_profile pour mettre à jour votre PATH.

source ~/.bash_profile

Maintenant, chaque fois que vous ouvrez le programme Terminal, PATH inclut le SDK Android.


14
2017-12-19 11:55



Ajout de variables de chemin à OS X Lion

C'était assez simple et a fonctionné pour moi, dans le 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

Une réponse similaire était ici: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516


11
2018-06-07 06:23



Terminal ouvert:

vi ~/.bash_profile

Appliquer le changement au système (pas besoin de redémarrer l'ordinateur):

source ~/.bash_profile

(Fonctionne également avec macOS Sierra 10.12.1)


7
2017-11-19 09:07



J'avais un problème avec Eclipse (lancé en tant qu'interface graphique, pas à partir d'un script) sur Maverics, qui ne prenait pas PATH personnalisé. J'ai essayé toutes les méthodes mentionnées ci-dessus en vain. Enfin, j'ai trouvé la réponse de travail la plus simple basée sur des conseils de ici:

  1. Aller à /Applications/eclipse/Eclipse.app/Contents dossier

  2. Modifier le fichier Info.plist avec l'éditeur de texte (ou XCode), ajouter LSEnvironment dictionnaire pour variable d'environnement avec chemin complet. Notez qu'il inclut également / 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. Recharger les paramètres pour l'application avec

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


5
2018-05-05 20:40