Pergunta

Eu estou usando formiga para construir meu projeto, e usar o 'svnversion' executável para inserir um ID de versão em minhas fontes para facilitar o rastreamento de versões.

A execução deste arquivo formiga das obras de linha de comando, eu configurei meu $ PATH em .profile para incluir o caminho para svnversion e trabalha muito bem.

Agora eu tento e executar este mesmo arquivo formiga de dentro do Eclipse e que não funciona - o caminho no eclipse é definido de outra maneira do que o caminho do shell, eu suspeito que isso tem que ser definido em um algum lugar plist, mas Eu não sei onde.

Foi útil?

Solução

Correto - é no arquivo plist

~/.MacOSX/environment.plist

Este arquivo realmente contém pares chave-valor para as variáveis ??de ambiente que pretende definir, para toda a sessão de login. Ao contrário .profile / .cshrc etc, ele está disponível para programas GUI. Infelizmente, você não pode acessar outras variáveis ??de ambiente (por exemplo, você não pode usar $ HOME) ou usar quaisquer outras construções programáticas aqui.

Atualização :. Nota que este não é mais suportada sob OS X 10.8 Mountain Lion, infelizmente

Outras dicas

Uma busca rápida na developer.apple.com apareceu variáveis ??de ambiente Definição de processos de usuário .

No Mac OS X El Capitan (10.11.5), isso funciona para mim para por usuário entradas de caminho (e outras variáveis ??de ambiente, para que o assunto).

  • criar um $HOME/.profile arquivo
  • definir todas as variáveis ??relacionadas PATH no arquivo
  • (se estiver usando bash), tem sua fonte .bash_profile esse arquivo, e .bashrc. Este deve ser todo o conteúdo do seu .bash_profile:

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

Perto quanto eu posso dizer, Mac OS não .bash_profile fonte no login para PATH, presumivelmente porque que muitas vezes é muito lento para run (inicializar conclusão do bash etc). Parece ler $HOME/.profile.

Você ainda precisa de um $HOME/.bash_profile para bater gatilho para ler $HOME/.bashrc, que de outra forma não faria por terminais interativos, não-logon como os criados por Terminal.app.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top