Uma abordagem alternativa para atualizar $PATH
que é bastante comum é criar links simbólicos para os binários em algum lugar que já esteja listado em $PATH
, por exemplo, em /usr/local/bin
.
Você pode conseguir isso com:
$ cd /usr/local/bin
$ sudo ln -s ../haskell/bin/* .
(Mas, antes disso, certifique-se de inspecionar a lista de binários em /usr/local/haskell/bin/
e verifique se a criação de links simbólicos faz sentido. Você pode decidir apenas simbolizar um subconjunto dos arquivos também.)
Um dos motivos pelos quais você não deseja mover os binários é que muitas vezes os binários distribuídos em formato binário em tarballs são gravados de uma maneira que podem funcionar quando descompactados em qualquer parte do sistema . Para fazer isso, eles geralmente tentam detectar onde estão instalados (na maioria das vezes observando /proc/self/exe
.) Ao fazer isso, eles podem encontrar o diretório pai /usr/local/haskell
onde esperam encontrar outras bibliotecas e arquivos que precisam . A criação de links simbólicos normalmente não interfere nesses mecanismos, pois eles ainda poderão encontrar os binários reais em /usr/local/haskell/bin
, localizando com êxito o caminho de instalação.
Outra razão para não mover os binários é que, mais tarde, se você quiser desinstalar o Haskell, pode simplesmente excluir todo o diretório /usr/local/haskell
, não é necessário lembrar que alguns dos binários foram movidos para /usr/local/bin
e, mesmo que você se lembre disso, não é necessário lembrar quais pertencem a Haskell (supondo que você tenha usado esse método para instalar mais de um pacote de software). Você faz termino com alguns links simbólicos quebrados em /usr/local/bin
se você desinstalar o Haskell simplesmente apagando o diretório, mas eles são inofensivos e é fácil apontar quais pertencem ao Haskell, já que todos eles terão ../haskell/bin
em seu nome, então eles são fáceis de limpar também.