Maneira “direita” de lidar com a adição de pacotes ao caminho

1

Eu baixei e instalei a Plataforma Haskell. E ele foi instalado (padrão) para /usr/local/haskell/

Eu quero adicionar os binários dentro de /usr/local/haskell/bin/ ao meu caminho. Mas eu não quero (se possível) mudar meu caminho ..

Qual seria o melhor curso de ação aqui? Devo mover o haskell/bin/* para local/bin ou é a melhor prática adicionar a pasta haskell ao caminho como?

    
por Felix Rosén 24.11.2018 / 13:00

1 resposta

2

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.

    
por 24.11.2018 / 16:37

Tags