Qual é o instalador oficial dos pacotes Unix no Mac OS?

10

Estou um pouco confuso sobre a instalação de pacotes Unix padrão no Mac OS X. Por exemplo, eu tenho / usr / bin / svn, que é o SVN v.1.4.4, mas o FinkCommander diz que o svn não está instalado. O mesmo vale para outros pacotes, como emacs etc.

Essa é apenas uma configuração errada do FinkCommander? Atualmente, ele está configurado para instalar tudo no /sw, o que nem sequer está no PATH. Então, eu só preciso configurá-lo para instalar pacotes /usre ele reconhecerá o software instalado? Não quero instalar pacotes duplicados de tudo, e é bastante estranho que o FinkCommander pareça não estar sincronizado com o software instalado.

Ou existe algum outro instalador que eu deveria estar usando? Mac Ports é o instalador recomendado para uso?

(Estou usando o Mac OS 10.5.8.)

dehmann
fonte
Boa pergunta e ótimas respostas. Também confira este: superuser.com/questions/28529/macports-fink-etc
Jonik
Quanto ao MacPorts: compilar todos os pacotes do zero é uma loucura. Eu me vejo deixando o laptop ligado por dias e noites agora apenas para instalar o R ​​com MacPorts (que primeiro compila gcc43, perl, automake, glib2 e muitos mais ...).
amigos estão dizendo sobre dehmann
Se você quiser pacotes binários pré- criados , confira o Rudix .
Telêmaco

Respostas:

10

Não há um gerenciador de pacotes oficial para o OS X.

Fink , MacPorts e Homebrew fornecem seus próprios recursos e funcionalidades diferentes para preencher esse vazio.

Conforme apontado por muitos usuários:

  • evite usar / usr
  • até você configurar seu PATH, pacotes de diretórios diferentes não serão encontrados.
Jeremy L
fonte
Obrigado pela resposta. Isso é muito decepcionante. Por que eles não podem oferecer um gerenciador de pacotes adequado? :
dehmann
5
Seu público-alvo não saberia o que fazer. O resto de nós faz com que funcione :-)
Jeremy L
Eu escolho isso como resposta aceita, mas acrescentaria que é realmente bom usar vários gerentes. Pelo menos o Fink e o MacPorts podem coexistir, pois são instalados em diretórios diferentes.
Dehmann 13/04
7

Embora não exista um gerenciador oficial de pacotes Unix / FOSS para Mac OS X, deve-se notar que o MacPorts foi criado e ainda é mantido principalmente pelos engenheiros da Apple, Mac OS X / Darwin. O site macports.org está hospedado nos servidores da Apple, como parte do projeto "MacOSForge.com" da Apple. Como o Mac OS X / Darwin é baseado em * BSD, muitos dos engenheiros de software da camada Unix da Apple vêm das tradições * BSD, então modelaram o MacPorts segundo o modelo de "portas" * BSD.

O Fink era o gerenciador de pacotes de código aberto original do Mac OS X, mas não possui laços organizacionais estreitos com a Apple e optou por seguir a tradição apt-get do Debian Linux.

Não sei se algum dos detalhes acima é suficiente para recomendar um sobre o outro. Eu diria que se resume a qual modelo você já está mais familiarizado. Se você está mais familiarizado com o apt-get, vá com o Fink. Se você está mais familiarizado com as "portas" do BSD, vá com o MacPorts.

Como já foi dito, é melhor deixar as ferramentas Unix padrão do Mac OS X em paz. O Fink e o MacPorts já aprenderam essa lição e instalam suas próprias cópias de coisas em suas próprias hierarquias de diretórios (/ sw para Fink, / opt para MacPorts). O Homebrew ainda não aprendeu completamente essa lição, mas eles assim que um usuário usa o Homebrew para atualizar a cópia interna de, digamos, Perl ou Python, e tem algum problema de compatibilidade imprevisto que quebra partes internas do Mac OS X, como pacotes de instalação (arquivos de pacote configurável .pkg do Mac OS X) que usam scripts Perl para executar algumas das tarefas de instalação.

Spiff
fonte
5
Pelo que entendi, o Homebrew é instalado em / usr / local / e, portanto, nunca substituirá o sistema Python.
Pepijn
4
Seria impossível usar o Homebrew para substituir seus componentes existentes. O OSX é fornecido sem / usr / local por padrão.
Paul Robinson
5

Não há gerenciador de pacotes oficial para o OS X.

O Fink provavelmente está dizendo que não está instalado porque não está instalado no caminho do Fink. Encontrei problemas ao instalar algo do Fink ou MacPorts ou duplicar cópias com números de versão diferentes.

Escolha um e cumpri-lo. Se você sentir que precisa mudar, seria melhor eliminar o outro gerenciador de pacotes e reinstalá-lo.

Josh K
fonte
3

A versão do svn que você está vendo veio com o Mac OS X - não do Fink ou de qualquer outra fonte.

Você pode identificar versões diferentes usando o typecomando do bash . Por exemplo, eu uso o MacPorts e instalei uma versão mais recente do sqlite3:

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

A versão em / opt / local / bin veio do MacPorts, a versão em / usr / bin veio com o Mac OS X.

Eu recomendo que você não instale os binários do Fink ou MacPorts no / usr - deixe-os em paz. Deixe o Fink instalar em / sw ou o MacPorts em / opt / local. Ajuste seu PATHpara encontrar as versões do Fink / MacPorts antes das versões padrão

Doug Harris
fonte
Usando bandeiras semelhantes, você pode usarwhich -a sqlite3
Jeremy L