Question

J'utilise ant pour construire mon projet et j'utilise l'exécutable 'svnversion' pour insérer un identifiant de version dans mes sources afin de faciliter le suivi des versions.

L'exécution de ce fichier ant à partir de la ligne de commande fonctionne, j'ai défini mon $ PATH dans .profile pour inclure le chemin d'accès à svnversion et tout fonctionne correctement.

Maintenant, j’essaie d’exécuter ce même fichier ant à partir d’Eclipse et cela ne fonctionne pas - le PATH dans eclipse est défini d’une autre manière que le PATH du shell, je suppose que cela doit être défini quelque part, mais Je ne sais pas où.

Était-ce utile?

La solution

Corrigez - c'est dans le fichier plist

~/.MacOSX/environment.plist

Ce fichier contient en fait des paires clé-valeur pour toutes les variables d'environnement que vous souhaitez définir, pour toute la session de connexion. Contrairement à .profile / .cshrc, etc., il est disponible pour les programmes à interface graphique. Malheureusement, vous ne pouvez pas accéder à d'autres variables d'environnement (par exemple, vous ne pouvez pas utiliser $ HOME) ni utiliser d'autres constructions programmatiques ici.

Mise à jour : notez que cela n'est plus pris en charge sous OS X 10.8 Mountain Lion, hélas.

Autres conseils

Une recherche rapide sur developer.apple.com a révélé la définition de variables d'environnement pour les processus utilisateur. .

Sous Mac OS X El Capitan (10.11.5), cela fonctionne pour moi pour les entrées PATH par utilisateur (et les autres variables d'environnement, d'ailleurs).

  • créer un fichier $ HOME / .profile
  • définir toutes les variables liées à PATH dans ce fichier
  • (si vous utilisez bash), indiquez à votre fichier .bash_profile et .bashrc . Cela devrait être tout le contenu de votre .bash_profile :

    # $ HOME.bash_profile: source $ HOME / .profile source $ HOME / .bashrc

Comme je peux le dire, Mac OS ne code pas .bash_profile lors de la connexion à PATH , probablement parce que l'exécution est souvent très lente (initialisation de la finalisation, etc.) . Il semble lire $ HOME / .profile .

Vous avez toujours besoin d'un $ HOME / .bash_profile pour que bash lise $ HOME / .bashrc , ce qu'il ne ferait pas autrement pour les échanges interactifs sans connexion comme ceux créés par Terminal.app .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top