Estou tentando usar o /etc/paths.d para adicionar um executável à minha variável de caminho, mas até agora não tenho sucesso.
O caminho completo do arquivo executável é: /opt/ImageMagick/bin/convert
/etc/paths.d contém dois arquivos: 40-XQuartz e ImageMagick
O 40-XQuartz contém uma linha: /opt/X11/bin
O ImageMagick contém uma linha:/opt/ImageMagick/bin
Meus echo $PATH
dá:
/Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
Portanto, parece que apenas o primeiro arquivo (40-XQuartz) faz seu trabalho. As permissões dos dois arquivos (40-XQuartz e ImageMagick) são exatamente as mesmas, então minha pergunta é por que o primeiro funciona e o segundo não.
Estou executando o OS X Mavericks.
/etc/paths.d
obras para mim, mas eu reiniciar qualquer aplicativo de terminal Eu estou usando (ITerm2 no meu caso) para o novo caminho para entrar em vigorRespostas:
Você iniciou um novo shell de login desde a adição do novo arquivo para o ImageMagick? A configuração do caminho das
paths.d
entradas é feita em/etc/profile
e/etc/csh.login
, portanto, você precisa iniciar um novo shell para que as novas entradas entrem em vigor.O OS X usa
path_helper
para definir o caminho com base nos arquivos/etc/paths.d
- você sempre pode chamá-lo manualmente (assumindo um shell semelhante ao Bourne aqui):fonte
Corrida
adiciona
/opt/ImageMagick/bin
àPATH
minha instalação.Você está substituindo
PATH
em algum outro lugar como~/.bash_profile
?Os caminhos em
/etc/paths.d/
são adicionados ao caminho por/usr/libexec/path_helper
, que é executado a partir de/etc/profile
,/etc/zsh.env
e/etc/csh.login
.path_helper
não é executado por aplicativos gráficos ou quando o bash é chamado como um shell que não é de login.Você também pode definir um padrão
PATH
em/etc/launchd.conf
:setenv PATH /Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/ImageMagick/bin|sudo tee -a /etc/launchd.conf
.launchctl</etc/launchd.conf;sudo launchctl</etc/launchd.conf
e reinicie os processos.Prefiro alterar o caminho
/etc/launchd.conf
, porque também afeta os programas que não são iniciados a partir de shells, como editores de texto e programas iniciados por tarefas launchd.fonte
Incrível, eu estava apenas brincando de adicionar o ImageMagic ao meu Mac. Não só você precisa
ImageMagick/bin
em suaPATH
, você também precisa de um conjunto variável de ambiente, ou adicionado a:Para testar, você pode criá-lo manualmente com:
As informações para definir uma variável de ambiente para o Mac OS podem ser encontradas aqui, Definindo variáveis de ambiente no OS X?
fonte