PATH variável env no Mac OS X e / ou Eclipse

17

Quando imprimo o caminho no bash, imprime isto:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Quando eu executo System.out.println (System.getenv ("PATH")); em Java em execução no Eclipse, ele imprime

/usr/bin:/bin:/usr/sbin:/sbin

Como posso descobrir por que existe essa discrepância? Eu preciso adicionar / usr / local / bin ao PATH e torná-lo disponível para aplicativos Java no Eclipse. (nota: eu não fiz nenhum caminho de sistema de modificações, assim estes são os padrões fixados pelo OS ou talvez por um ou mais dos aplicativos que eu instalei.)

    
por Jason S 23.08.2009 / 21:21

12 respostas

5

Aha, encontrei esta página da web que diz

Note: Mac OS X does not include /usr/local/bin in its default PATH. Therefore, assuming you're using the default bash shell, please type (or include in /etc/profile) export PATH=/usr/local/bin:$PATH before using any of these tools.

Esta é uma coisa apropriada / inapropriada para fazer? Eu fico desconfiado de editar arquivos do sistema a menos que eu realmente saiba o que estou fazendo. / usr / local / bin é somente gravável pelo root, então eu não estaria abrindo uma falha de segurança, não seria?

Estranho, adicionei o caminho de exportação e ele não tem efeito na execução do eclipse no Dock. Também encontrei esta página sobre caminhos e meu arquivo / etc / paths tem

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

e ainda assim esses caminhos não aparecem no eclipse ... existe uma maneira fácil de criar / encontrar um arquivo binário que imprima $ PATH, que eu poderia executar a partir do Dock, para que eu pudesse depurar isso mais facilmente ? Eu não sei se o Eclipse anda pelo caminho.

    
por 23.08.2009 / 21:41
10

Se você quiser definir uma variável no sistema OSX, você precisa colocá-la em seu arquivo ~ / .MacOSX / environment.plist.

Veja esta página no site da Apple para mais detalhes.

    
por 23.08.2009 / 21:42
8

Tive o mesmo problema. Aqui está a minha solução:

  1. Edite o arquivo /etc/paths para incluir o caminho adicional desejado.

  2. Para uma instalação do OSX, execute /Applications/eclipse/eclipse não /Applications/eclipse/Eclipse.app

por 03.08.2012 / 18:04
7

Para aqueles que procuram uma resposta anos mais tarde (Neon, Oxygen):

Algumas de minhas ferramentas node e angular / angular2 no eclipse falharam devido à falta de entradas $ PATH no terminal MacOS. Seu ferramental utiliza o terminal eclipse incorporado que não inicia seu shell de login / usuário. Portanto, você precisa definir o terminal eclipse nas suas preferências do eclipse para iniciar como --login shell para incluir as configurações do PATH dos usuários:

Vá para:

Preferences -> Terminal -> Local Terminal

e defina

Arguments a: --login

abra um novo Terminal dentro do Eclipse e o $ PATH do seu usuário deve ser usado a partir de agora. Também tudo que você configurou em ~ / .bash_profile será executado ao abrir um novo Terminal no Eclipse.

    
por 19.07.2017 / 13:19
4

Se você estiver no Eclipse (testado com "Mars"), você pode alterar sua "Configuração de Execução":

  1. Clique em "Executar" → "Executar configurações ..."
  2. Escolha a configuração de execução apropriada à esquerda
  3. Agora, escolha a guia "Ambiente"
  4. Clique em "Novo ..."
  5. No campo "Nome", insira "PATH"
  6. Agora vá para o seu terminal, digite "echo $ PATH" e copie o resultado
  7. Passou o resultado no campo "Valor"
  8. Clique em "OK"
  9. De volta à guia "Ambiente", selecione "Anexar ambiente ao ambiente nativo"

Agora, o Eclipse usa os mesmos valores para a variável de ambiente PATH do seu sistema. Lembre-se: Isso é válido apenas para a configuração de execução que você escolheu.

Como já foi observado em sua pergunta, verifique em Java com:

System.getenv();
    
por 12.03.2016 / 09:51
2

Provavelmente, um dos seus scripts de logon bash ( .bashrc ou .bash_profile ) está mudando $PATH . Se você iniciar o Eclipse a partir do terminal, ele obterá /usr/local/bin em seu caminho?

    
por 23.08.2009 / 21:29
2

Esta dica acima funciona para mim: 1) adicione o caminho para / etc / paths como root 2) inicie o eclipse com $ ECL_HOME / Eclipse.app / Contents / MacOS / eclipse em vez de $ ECL_HOME / Eclipse.app

    
por 11.07.2013 / 00:55
2

Como alternativa, você pode simplesmente adicionar um link simbólico ao seu diretório /usr/local apontando para o seu aplicativo.

Por exemplo faça como root :

ln -s /Applications/PhantomJS/phantomjs-1.9.2-macosx/bin/phantomjs /usr/local/phantomjs

Isso me ajudou a executar (mvn test) o aplicativo PhantomJS externo de dentro de um Projeto Maven no Eclipse.

    
por 18.10.2013 / 11:28
1

Você pode modificar o caminho global do osx adicionando uma linha a /etc/launchd.conf e reinicializando seu computador.

setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Funciona no OSX 10.8 e 10.9

link

    
por 27.08.2014 / 00:58
1

Eclipse NEON, mac OS X 10.11.6
O terminal no Eclipse não pode usar o comando mvn (eu faço um link flexível de mvn in /usr/local/bin )

Solução Temp:

Clique com o botão direito em /Applications/eclipse - > mostrar conteúdo do pacote - > conteúdo - > MacOS - > clique duas vezes em eclipse para começar.

Inicie o Eclipse dessa maneira, o Eclipse pode detectar todas as configurações de caminho e, em seguida, posso usar o comando mvn no terminal do Eclipse agora.

Você pode clicar com o botão direito do mouse em eclipse nesta pasta e criar um alias para iniciá-lo de maneira conveniente.

Eu não sei porque agora. Eu acho que isso deveria ser um erro do eclipse.

    
por 30.10.2016 / 08:34
0

edite o ~/.bash_profile para incluir o caminho

em vez de começar no launchpad,

abra o terminal e inicie-o como

/Applications/Eclipse.app/Contents/MacOS/eclipse

Isso fez o truque para mim.

    
por 21.04.2017 / 03:56
0

Reunindo algumas respostas e atualizando para algo fácil:

  1. Clique com o botão direito do mouse em Eclipse.app e escolha "Mostrar conteúdo do pacote"
  2. Navegue até Conteúdo / MacOS para encontrar "eclipse".
  3. Clique com o botão direito do mouse e escolha "Criar alias" ou arraste e solte enquanto mantém o comando e a opção.
  4. Coloque o alias em algum lugar conveniente, como em aplicativos.
  5. Clique duas vezes para iniciar.
  6. Não há etapa 6!

Isso não só abrirá uma janela do Terminal mostrando a saída bruta do Eclipse, mas adotará automaticamente qualquer caminho que você tenha definido em seu shell de login.

Portanto, você pode usar qualquer um dos métodos normais para definir seu caminho (editando /etc/paths ou ~/.bash_profile ou apenas instalando a ferramenta de linha de comando bem comportada como mbed ) e não se preocupe mais. Se você puder chamá-lo a partir do Terminal, o Eclipse também poderá chamá-lo.

    
por 06.04.2018 / 04:05

Tags