O que acabamos fazendo foi uma solução multifacetada para evitar problemas de caminho. Dependendo do caso de uso, usamos um ou mais dos seguintes itens:
- Usou caminhos absolutos para os binários instalados em locais não padrão, em vez de esperar que o binário esteja no caminho. Isso foi usado para ferramentas que têm poucas dependências externas fora do padrão e / ou trabalham isoladamente.
- Criado e usado um script de wrapper para uma ferramenta que configura o ambiente conforme necessário; manualmente definindo o
PATH=...
dentro desse script e / ou executandosource $HOME/.bashrc
conforme apropriado. Isso foi usado para ferramentas que precisavam de outras ferramentas, mas que, de outra forma, podiam ser executadas em nosso cluster. - Criado um contêiner (Docker no nosso caso) incluindo os binários e uma configuração mais complexa. Isso foi usado para ferramentas que exigem um ambiente significativamente diferente de nossa configuração de cluster padrão.