SSH “comando não encontrado” para Zsh

0

Estou usando o Zsh no cliente e no servidor. Quando eu uso o ssh para executar um comando no servidor remoto, ele não consegue encontrar o binário:

ssh gt "cd /home/****/app/staging && bundle exec rake db:migrate RAILS_ENV=staging"
zsh:1: command not found: bundle

Eu posso executar o mesmo comando bem se eu for SSH com um shell interativo.

No servidor, o $PATH está definido em ambos .zshrc e .zshenv

EDITAR

Parece que bundle não está no meu $ PATH no servidor. Talvez isso tenha algo a ver com o RVM (Gerenciador de Versões do Ruby), que fica em cd , então quando você cd em um diretório com um arquivo .rvmrc configura o ambiente Ruby e adiciona bundle ao $ PATH. Preciso descobrir se o cd hook também é acionado para shells não interativos.

    
por Kris 04.11.2011 / 11:33

3 respostas

2

O caminho no qual seu binário está provavelmente é adicionado à variável $PATH no login . E quando você executa o comando apresentado, ele é executado através de um shell não-login . A maneira mais fácil (e segura) de resolver isso é especificar um caminho completo neste caso.

    
por 04.11.2011 / 11:50
0

a razão é o caminho aqui.

por favor, faça um which bundle , em ambos os shells, que deve ser auto-explicativo! e você pode editar a variável PATH exportando-a para suas necessidades ou usar caminhos absolutos para o mesmo.

    
por 04.11.2011 / 11:52
0

Eu votei o comentário por @rozcietrewiacz, mas quero chamá-lo como uma resposta completa. (Isso não ajudaria o pôster que já definiu os dotfiles, mas acho que ajudará pessoas como eu que encontrarem essa pergunta com base no erro.)

zsh.zshenv e .zshrc para logins interativos, mas apenas .zshenv para logins não interativos. Para corrigir esse problema, eu precisava dividir as configurações de PATH do meu .zshrc e movê-las para .zshenv .

No meu caso, não consegui executar comandos mercurial que eram comunicados por ssh com outro servidor, porque meu caminho (com hg em si) foi definido em .zshrc no servidor.

Mais detalhes podem ser encontrados aqui e aqui .

    
por 08.03.2017 / 18:11

Tags