Quand quelqu'un dit "éditez votre fichier .plist" ou "votre .profile" ou ".bash_profile" etc., cela me perturbe. Je ne sais pas du tout où se trouvent ces fichiers, comment les créer si je dois le faire, etc., et aussi pourquoi il semble y en avoir tellement différents (pourquoi? Ils font des choses différentes?)
Quelqu'un pourrait-il donc expliquer très patiemment à un utilisateur précédent de Windows (qui souhaite désespérément se familiariser davantage avec le monde plaisant, mais au départ, un peu déroutant), comment procéder étape par étape?
J'ai besoin que les variables soient définies à la fois pour les applications à interface graphique et les applications en ligne de commande. À l'heure actuelle, c'est pour un script ant qui a besoin des variables, mais il y aura probablement d'autres besoins également.
Veuillez noter que j'ai aussi Lion, car bon nombre des réponses que vous obtenez à Google semblent être dépassées pour Lion ...
Notez également que je n'ai pratiquement aucune expérience d'utilisation du terminal. Je suis disposé à apprendre, mais expliquez s'il vous plaît pour un novice ...
Premièrement, une chose à reconnaître à propos d’OS X est qu’il repose sur Unix. C’est là que le fichier .bash_profile entre en jeu. Lorsque vous démarrez l’application Terminal sous OS X, vous obtenez un shell bash par défaut. Le shell bash provient d’Unix et lorsqu’il est chargé, il exécute le script .bash_profile. Vous pouvez modifier ce script pour que votre utilisateur modifie vos paramètres. Ce fichier se trouve à:
~/.bash_profile
Mise à jour pour Mavericks
OS X Mavericks n'utilise pas environment.plist - du moins pas pour les applications Windows OS X. Vous pouvez utiliser le launchd configuration pour les applications fenêtrées. Le fichier .bash_profile est toujours pris en charge car il fait partie du bash Shell utilisé dans Terminal.
Lion et lion de montagne uniquement
Les applications OS X fenêtrées reçoivent les variables d’environnement à partir du fichier environment.plist. C'est probablement ce que vous entendez par le fichier ".plist". Ce fichier se trouve à:
~/.MacOSX/environment.plist
Si vous modifiez votre fichier environment.plist, les variables d'environnement de ces applications Windows, y compris de l'application Terminal, seront définies. Toute variable d’environnement que vous définissez dans votre fichier .bash_profile n’affectera que vos shells bash.
En général, je ne définit que des variables dans mon fichier .bash_profile et je ne change pas le fichier .plist (ou le fichier launchd sur Mavericks). La plupart des applications OS X fenêtrées ne nécessitent aucun environnement personnalisé. Je ne modifie le fichier environment.plist (ou le fichier launchd sur Mavericks) que lorsqu'une application a réellement besoin d'une variable d'environnement spécifique.
Il semble que ce que vous voulez, c'est modifier le fichier environment.plist, plutôt que le fichier .bash_profile.
Une dernière chose, si vous recherchez 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.
Edit: Voici quelques instructions pour créer un fichier plist.
Pour éditer le fichier, vous pouvez cliquer en maintenant la touche Contrôle enfoncée pour afficher un menu, puis sélectionner Ajouter une ligne. Vous pouvez ensuite ajouter une paire de valeurs de clé. 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.
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 le verrez pas. Si vous ouvrez une fenêtre de terminal et tapez ls
pour répertorier les fichiers, vous ne les verrez toujours pas. Cependant, vous pouvez les trouver en utilisant ls -a
dans le terminal. Ou si vous ouvrez votre éditeur de texte préféré (par exemple, TextEdit, car il est fourni avec OS X) et faites Fichier-> Ouvrir, puis appuyez sur Command+Shift+. et cliquez sur le nom de votre compte (dossier personnel), vous les verrez également. Si vous ne les voyez pas, vous pouvez en créer un dans votre éditeur de texte préféré.
Maintenant, l'ajout de variables d'environnement est relativement simple et remarquablement similaire aux fenêtres. Dans votre .profile
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 de terminal pour que les nouvelles variables prennent effet, soit vous devrez taper .profile
ou .bash_profile
pour recharger le fichier et en appliquer le contenu. à l'environnement de votre terminal actuel.
Vous pouvez vérifier que vos modifications ont été appliquées à l'aide de la commande "set" de 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 se trouve bien là.
En ce qui concerne l'ajout de variables d'environnement aux applications d'interface graphique, cela n'est normalement pas nécessaire et j'aimerais en savoir davantage sur ce que vous essayez spécifiquement de faire pour mieux vous donner une réponse.
Voici quelques informations supplémentaires concernant spécifiquement la variable PATH dans Lion OS 10.7.x:
Si vous devez définir le PATH globalement, le PATH est créé par le système dans l'ordre suivant:
/private/etc/paths
, un chemin par ligne/private/etc/paths.d
. Chaque fichier de ce dossier peut contenir plusieurs chemins, un chemin par ligne. L'ordre de chargement est déterminé d'abord par le nom du fichier, puis par l'ordre des lignes dans le fichier.setenv PATH
dans /private/etc/launchd.conf
, qui ajoutera ce chemin vers le chemin déjà défini dans les no 1 et n ° 2 (vous ne devez pas utiliser $ PATH pour référencer la variable PATH a été construit jusqu'à présent). Mais définir le PATH ici est totalement 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 toutes les applications. Ils sont donc véritablement globaux - la déconnexion et l’entrée ne réinitialiseront pas ces chemins - ils sont conçus pour le système et sont créés avant que tout utilisateur ait la possibilité de se connecter, de sorte que les modifications apportées nécessitent un redémarrage du système pour prendre effet.
En passant, une nouvelle installation de OS 10.7.x Lion ne possède pas de environment.plist
, ce qui peut fonctionner, mais peut également être obsolète.
echo $PATH
il imprime la valeur du chemin actuel
Ensuite, faites vim ~/.bash_profile
et écrivez
export PATH=$PATH:/new/path/to/be/added
vous ajoutez ici à l'ancien chemin, conserve ainsi l'ancien et y ajoute votre nouveau chemin
alors fais
source ~/.bash_profile
cela va l'exécuter et ajouter le chemin
puis à nouveau vérifier avec
echo $PATH
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 fallait que gradle
fonctionne (pour Android Studio
).
Btw, Ces étapes concernent OSX (Mountain Lion 10.8.5)
Exécutez la commande suivante:
Sudo nano /etc/paths
(ou Sudo vim /etc/paths
pour vim)
Ouvrez une nouvelle fenêtre de terminal puis tapez:
echo $PATH
Vous devriez voir le nouveau chemin ajouté à la fin du PATH
J'ai eu 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
Cet article/cette question est un peu ancien, je vais donc répondre à une version simplifiée pour les utilisateurs d'OS X Lion. Par défaut, OSX Lion ne contient aucun des fichiers suivants:
Tout au plus, si vous avez fait quelque chose dans le terminal, vous verrez peut-être ~/.bash_history
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:
source ~/.bashrc
Ctrl + x Ctrl + s
(pour enregistrer le fichier)Ctrl + x Ctrl + c
(pour fermer emacs)La prochaine fois que vous quitterez et rechargerez le terminal, il devrait charger toutes vos préférences bash. Pour faire bonne mesure, il est généralement judicieux de séparer vos commandes en noms de fichiers utiles. Par exemple, depuis ~/.bashrc, vous devriez avoir un source ~/.bash_aliases
et mettre toutes vos commandes d’alias dans ~/.bash_aliases.
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 à la connexion. Vous pouvez ajouter une variable 'à la volée' au launchd en cours d'exécution en utilisant:
launchctl setenv FOO barbaz`
En fait, .launchd.cond
contient simplement les commandes launchctl.
Les variables définies de cette manière semblent bien être présentes dans les applications à interface graphique.
Si vous essayez 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 de paramètres régionaux" sous l'onglet Terminal du profil que vous utilisez. Cela semble écraser les variables d'environnement de launchd, et dans mon cas, il s'agissait de définir un problème LC_CTYPE endommagé, ce qui posait des problèmes sur les serveurs distants (la variable avait été transmise).
(Environment.plist semble toujours fonctionner sur mon Lion cependant. Vous pouvez utiliser la sous-fenêtre de préférences RCenvironment pour conserver le fichier au lieu de le modifier manuellement ou le Xcode requis. Cela semble toujours fonctionner sur Lion, bien que La dernière mise à jour date de l’époque Snow Leopard, c’est la méthode que je préfère personnellement.)
Ouvrez le programme Terminal (celui-ci se trouve par défaut dans votre dossier Applications/Utilites). Lancer la commande suivante
touch ~/.bash_profile; open ~/.bash_profile
Cela ouvrira le fichier dans votre éditeur de texte par défaut.
Pour Android SDK à titre d'exemple:
Vous devez ajouter le chemin d'accès à votre répertoire _ outils de plate-forme et d'outils de SDK Android. Dans mon exemple, j'utiliserai "/ Development/Android-sdk-macosx" comme répertoire d'installation du SDK. 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 inclura le Android SDK.
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
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)
Permettez-moi de vous illustrer mon exemple personnel de manière très redondante.
Parfois, macOS ou Linux configure automatiquement une variable d’environnement différente de Windows. Mais ce n'est pas toujours le cas. Alors vérifions-le. La ligne immédiatement après echo $ Java_HOME serait vide si la variable d’environnement n’était pas définie. Il doit être vide dans votre cas.
Maintenant, nous devons vérifier si nous avons un fichier bash_profile. Vous avez vu que dans mon cas, nous avons déjà bash_profile. Sinon, nous devons créer un fichier bash_profile.
Maintenant ouvrons le fichier bash_profile. macOS l'ouvre à l'aide de son programme TextEdit par défaut.
C'est le fichier où les variables d'environnement sont conservées. Si vous avez ouvert un nouveau fichier bash_profile, il doit être vide. Dans mon cas, il était déjà configuré pour le langage de programmation python et la distribution Anaconda. Maintenant, j’ai besoin d’ajouter une variable d’environnement pour Java qui ne fait qu’ajouter la première ligne. VOUS DEVEZ Taper la première ligne VERBATIM. Juste la première ligne. Enregistrez et fermez TextEdit. Puis fermez le terminal.
Ouvrez à nouveau le terminal. Vérifions si la variable d'environnement est configurée.
J'ai eu un problème avec Eclipse (démarré en tant qu'interface graphique, pas à partir d'un script) sur Maverics parce qu'il 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 la plus simple, basée sur des astuces de ici :
Allez dans le dossier /Applications/Eclipse/Eclipse.app/Contents .
Editez le fichier Info.plist avec l'éditeur de texte (ou XCode), ajoutez le dictionnaire LSEnvironment pour la variable d'environnement avec le 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>
...
Recharger les paramètres pour l'application avec
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/Eclipse/Eclipse.app
Redémarrer Eclipse
J'ai pris la route d'idiot. Ajoutés à la fin de/etc/profile
for environment in `find /etc/environments.d -type f`
do
. $environment
done
a créé un dossier/etc /virvenus, y a créé un fichier appelé "Oracle" ou "peu importe" et y a ajouté les éléments dont j'avais besoin.
/ 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
Plus de détails, qui pourraient peut-être être utiles à quelqu'un:
Grâce à mes propres explorations, je sais maintenant comment définir les variables d'environnement de 7 manières sur 8. J'essayais de créer un environnement pour une application que je développe sous Xcode. Je règle les envars "traceurs" en utilisant ces différentes méthodes pour me dire lesquelles entrent dans le champ de mon application. Dans la liste ci-dessous, vous pouvez voir que la modification du "schéma" dans Xcode pour ajouter des arguments fonctionne de la même manière que "putenv". Ce qui ne l’a pas défini dans cette étendue: ~/.MACOS/environment.plist, plist spécifique à l’application, .profile et l’ajout d’une phase de construction pour exécuter un script personnalisé (j’ai trouvé un autre moyen de définir Xcode dans Xcode [au moins]]. mais j’ai oublié ce que j’appelais le traceur et je ne le trouve pas maintenant; c’est peut-être sur une autre machine ....)
GPU_DUMP_DEVICE_KERNEL est égal à 3
GPU_DUMP_TRK_ENVPLIST est (null)
GPU_DUMP_TRK_APPPLIST est (null)
GPU_DUMP_TRK_DOTPROFILE est (null)
GPU_DUMP_TRK_RUNSCRIPT est (null)
GPU_DUMP_TRK_SCHARGS est 1
GPU_DUMP_TRK_PUTENV est 1
... D'autre part, si j'entre dans Terminal et que je dis "set", il semble que le seul élément obtenu est celui de .profile (j'aurais pensé que cela capterait environment.plist également, et je suis Bien sûr, une fois que j’ai vu un deuxième envar de traceur dans Terminal, quelque chose a probablement disparu depuis. Longue journée ...)
Étape 1: ouvrez ~/.bash_profile
Maintenant, un éditeur de texte s'ouvre:
Étape 2: le nom de la variable doit être en majuscule. dans cet exemple, la variable est NODE_ENV
Étape 3: export NODE_ENV=development
Enregistrez-le et fermez-le.
Redémarrez votre système.
Terminé.
Pour vérifier la variable env: ouvrez le terminal et tapez
echo $NODE_ENV