versão tl; dr: use ~/.zshrc
E leia a página do manual para entender as diferenças entre:
~/.zshrc, ~/.zshenve ~/.zprofile.
Em relação ao meu comentário
Em meu comentário anexado à resposta que kev deu , eu disse:
Isso parece estar incorreto - / etc / profile não está listado em nenhuma documentação zsh que posso encontrar.
Isso acabou sendo parcialmente incorreto: /etc/profile pode ser fornecido por zsh. No entanto , isso ocorre apenas se zshfor "invocado como shou ksh"; nestes modos de compatibilidade:
Os scripts usuais de inicialização / desligamento zsh não são executados. Login shells source / etc / profile seguido por $ HOME / .profile. Se a variável de ambiente ENV for definida na chamada, $ ENV será originado após os scripts de perfil. O valor de ENV está sujeito à expansão de parâmetro, substituição de comando e expansão aritmética antes de ser interpretado como um nome de caminho. [ man zshall, "Compatibilidade" ].
O link do ArchWiki ZSH diz:
No login, o Zsh fornece os seguintes arquivos nesta ordem:
/ etc / profile
Este arquivo é fornecido por todos os shells compatíveis com Bourne no login
Este implys que /etc/profileé sempre ler por zshno início da sessão - Eu não tenho nenhuma experiência com o projeto Arch Linux; o wiki pode ser correto para aquela distribuição, mas geralmente não é correto. As informações estão incorretas em comparação com as páginas de manual do zsh e não parecem se aplicar ao zsh no OS X (os caminhos $PATHdefinidos em /etc/profilenão chegam às minhas sessões zsh).
Para resolver a questão:
onde exatamente devo colocar minhas adições de rvm, python, nó, etc. em meu $ PATH?
Geralmente, gostaria de exportar meu $PATHpartir ~/.zshrc, mas vale a pena ter uma leitura do zshall página do homem, especificamente a seção "Inicialização / desligamento FILES" - ~/.zshrcé lido para interativas conchas, que pode ou não atender às suas necessidades - se você quiser o $PATHpara cada zshshell invocado por você (ambos interactivee não, ambos logine não etc.), ~/.zshenvé uma opção melhor.
Há um arquivo específico que devo usar (ou seja, .zshenv que não existe atualmente na minha instalação), um dos que estou usando atualmente, ou isso importa?
Há um monte de arquivos lidos na inicialização (verifique as manpáginas vinculadas ), e há uma razão para isso - cada arquivo tem seu lugar particular (configurações para cada usuário, configurações específicas do usuário, configurações para shells de login, configurações para cada shell, etc).
Não se preocupe por ~/.zshenvnão existir - se você precisar, faça e ele será lido.
.bashrce não.bash_profile são lidos por , a menos que você explicitamente os origine de ou similar; a sintaxe entre e é não sempre compatíveis. Ambos e são projetados para configurações, não configurações.zsh~/.zshrcbashzsh.bashrc.bash_profilebashzsh
.bashrce.bash_profilenão seja lido porzsheu atualmente ter meurvmacréscimo$PATHem.bashrce meupythonacréscimo em.bash_profile, e ambos estão sendo adicionados muito bem. Em qualquer caso, vou mover todas as minhas$PATHexportações para,~/.zshrcpois todas as minhas outraszshconfigurações estão alojadas lá. Tenho que admitir, não estou muito familiarizado com os diferentes tipos de conchas. Lendo os links que você postou, suponho que uso um shell interativo, mas lerei mais para ter certeza ... Obrigado novamente!