Estou apenas migrando do Ubuntu Linux para o Mac e tudo é novo e estou reaprendendo muitas coisas.

No Linux eu tinha o excelente apt-get para gerenciar pacotes de software. Pesquisei uma alternativa no Mac e descobri sobre MacPorts, Fink e Homebrew.

Vou usar este computador principalmente para desenvolver aplicativos Ruby on Rails.

Então, quais são as diferenças entre eles? Quais são as vantagens e desvantagens? Qual é a melhor manutenção e tem mais pacotes?

Comentários

  • Editei seu título para que corresponda à sua pergunta real. Na maioria dos sites do Stack Exchange, questionamentos pedindo ” os melhores ” são desaprovados.
  • Por que você precisa de algum dessas joias vencidas ‘ t ruby ‘ s são suficientes?
  • para mais informações sobre por que duplicatas não são ‘ t sempre ruim: apple.stackexchange.com/questions/11461/… também há mais algumas alternativas
  • Nunca usei, mas talvez uma comparação com pkgin também seja útil.

Resposta

Definitivamente Homebrew. Comecei com o Fink, depois mudei para MacPorts (mais feliz), depois Homebrew (muito, muito mais feliz). Estas são minhas razões para usar cada um (uma lista profissional, se preferir):

Fink

  • Baseado em apt – sinta-se em casa se você vem de um baseado em Debian ambiente
  • Pacotes binários – os pacotes estão disponíveis como binários, portanto, não há muito tempo de compilação. Praticamente, embora eu “tenha descoberto que os binários pré-compilados estavam sempre desatualizados e eu tinha que compilar coisas para meu sistema de qualquer maneira

MacPorts

  • Diferente do homebrew fazer não depende da biblioteca MacOS que pode mudar no futuro.
  • Instale tudo em / opt / local
  • Bom sistema de variantes que permite personalizar a compilação
  • Arquivos de porta fáceis e intuitivos, também permite que você adicione seus próprios
  • suporta muitas versões do OSX e macos desde o Tiger, incluindo versões do PowerPC, consulte outra resposta

Homebrew

  • Aproveitamento máximo do que vem com o OS X. Fink ou MacPorts, não requer que você construa / instale ruby e bibliotecas do zero apenas para instalar alguma pequena ferramenta baseada em Ruby.
  • Instala em /usr/local
  • Instalar sem acesso root
  • Cada pacote instalado é devidamente colocado em sandbox em seu próprio porão para que você não ave arquivos perdidos por todo o sistema, apenas links simbólicos de bin, man, etc.
  • Possui guias e automação para criar seus próprios arquivos de fórmula (ou seja, descritores de pacote)
  • Escrito em ruby e todas as fórmulas são scripts Ruby concisos
  • Instalações mais rápidas devido aos binários pré-compilados

pkgin

  • Instalações mais rápidas devido aos binários pré-compilados
  • Tudo instalado em / opt / pkg /
  • apoiado pela comunidade pkgsrc e Joyent
  • Sabe-se que funciona em NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix

https://pkgsrc.joyent.com/install-on-osx/

http://pkgin.net/

Comentários

Resposta

MacPorts

É mais independente do Mac OS X, isso significa que MacPorts irá simplesmente ignorar muitas das bibliotecas e softwares do sistema que já disponível no Mac OS X e extraia seu próprio em vez disso , o que pode ser mais lento quando o utilitário que você instala requer algum conjunto de grandes bibliotecas e softwares.

Mas esse tipo de escolha é mais seguro porque os pacotes que você instalou são menos influenciados pela atualização / atualização do sistema da Apple procedimento.


Homebrew

É mais dependente de pacotes existentes do Mac OS X instalados, então isso irá acelerar a instalação de pacotes e minimizar bibliotecas redundantes.

Mas o risco de pacotes instalados estarem quebrados n por causa da atualização / atualização do sistema da Apple.

Então, esses são os dois tipos diferentes de troca.

Além disso, o Homebrew assume / usr / local por padrão, com o qual algumas pessoas não gostam disso porque de alguma forma entrar em conflito com a tradição unix e pode causar problemas se você já instalou algo lá (MySQL, etc.)


Além dessas diferenças, considerando os pacotes que esses dois podem oferecer, você pode verificar com esses dois comandos se já tiver MacPorts / Homebrew instalado, que mostram os pacotes que eles fornecem atualmente:

port list | wc -l brew search | wc -l 

E você descobrirá que o MacPorts tem muito mais pacotes do que o Homebrew.

(19399 vs 3583 em 13 de maio de 2016)

Comentários

  • Como uma observação sobre o número diferente de pacotes: Homebrew decididamente não inclui pacotes para linguagens de programação que têm seu próprio sistema de empacotamento (rubygems / pip / cpan…) ou para software para o qual um instalador OS X indiscutivelmente mais apropriado está disponível (MacTeX). Além disso, duplicatas e versões mais antigas não estão no repositório padrão, mas incluem repositórios tap alternativos. Compare isso com macports, que, por exemplo, contém uma porta IPython para todas as versões Python incluídas. É um tipo de filosofia diferente que naturalmente aumenta o número de pacotes em macports.
  • Excelente link! terrychay.com/article/macports-vs-homebrew.shtml Obrigado!
  • @YaOz, Certamente você poderia mudar o homebrew para usar algo diferente de /usr/local?
  • @Pacerier Acredito que qualquer lugar diferente de /usr/local/ é “não compatível” ou “desencorajado” .

Resposta

Apenas para adicionar alguns dos meus próprios pensamentos que parecem verdadeiros por volta do final de 2014, pelo menos .

O Homebrew, há alguns anos, definitivamente tem a vantagem em termos de compartilhamento de ideias. Você encontrará muitos blogs com pessoas falando sobre como são mais felizes com o Homebrew – geralmente por causa de toda aquela coisa “MacPorts puxa no mundo inteiro” versus “Homebrew usa o que você já tem”.

No entanto, IMO, MacPorts é uma fera diferente agora do que era há alguns anos. Quando mudei para o OS X & estava usando MacPorts, a filosofia MP era realmente frustrante porque quase tudo foi criado a partir do código-fonte. Uma nova instalação foi particularmente dolorosa / lenta. No entanto, no último ano, com base puramente em minhas próprias impressões, parece que 90% dos pacotes MP são binários & então a instalação é realmente muito rápida agora. Pelo que percebi, o Homebrew também está se movendo nessa direção com “Bottles”, mas tenho a impressão de que a maioria das coisas que você instala via HB neste momento será compilada a partir do código-fonte.

Então, mesmo que seja apenas para oferecer uma opinião contrária, MacPorts parece realmente ser o “mais rápido” ption estes dias. No entanto, as opiniões da maioria das pessoas sobre o MP parecem ser baseadas em experiências de cerca de 2011-12 ou algo assim & não leva isso em consideração. Porém, leve isso com cautela, pois não sou um usuário comum de HB (e é bastante doloroso usar os dois lado a lado).

Eu acho que o HB tem vantagens que significam que provavelmente “ganhará a guerra “no longo prazo, embora

  • HB seja todo Ruby enquanto MacPorts, e suas fórmulas de pacote, são escritos em TCL, que não é exatamente uma linguagem de script popular. muito simples de criar seu próprio portfile.
  • HB é baseado no GitHub &, portanto, parece muito mais acolhedor para novos contribuidores, enquanto MacPorts hospeda seu próprio repositório SVN em algum lugar Eu acho – o que basicamente reflete as diferentes idades de ambos os projetos, eu suponho.
  • Conforme mencionado, o consenso geral é que MacPorts foi substituído por HB &, corretamente ou incorretamente, isso atrai mais pessoas para ele.

Caso contrário, YaOZl & kLy cobriu muito bem a principal diferença em termos de sudo, dependências, etc. EU descubra que o MacPorts às vezes leva a algumas dores de cabeça em termos de outros programas que não esperam nada em /opt/local, coisas sendo instaladas com permissões de root etc & há algumas coisas que geralmente não são instaladas com MacPorts (por exemplo você pode instalar o Rails através do MacPorts, mas seria louco se não o instalasse através do gerenciamento Gem normal do Ruby). Fora isso, embora eu “seja um grande fã da filosofia MacPorts de construir seu próprio mundinho & não depender de alguma biblioteca OS X pré-empacotada – quando funciona, e geralmente funciona, tudo é muito simples. Que é o que você realmente quer de um gerenciador de pacotes. E, como mencionei, neste momento é muito rápido configurar a maioria das coisas.

Espero que isso tenha sido útil.

Comentários

  • ” Conforme mencionado, o consenso geral é que MacPorts foi substituído pelo HB &, com ou sem razão, que atrai mais pessoas. ” … parece uma declaração muito superficial …ser popular versus fornecer qualidade não é o mesmo e de forma alguma implica que o segundo seja ” substituído ” pelo primeiro.
  • MacPorts agora está usando Github. Veja guide.macports.org/#project.github : ” O projeto MacPorts usa o sistema de controle de versão distribuída Git para gerenciar o código de todo o projeto. Nossos repositórios principais são hospedados no GitHub. Mantemos repositórios públicos para quase todo o código e documentação do nosso projeto, incluindo um repositório GitHub para o próprio sistema MacPorts, para as portas MacPorts e até mesmo para o guia que você está lendo agora. ”

Resposta

Algo que outras respostas (até agora) não parecem ter mencionado é que MacPorts tem um excelente suporte para versões legadas do macOS. O Homebrew só oferece suporte para os sistemas operacionais atualmente suportados pela Apple, o que geralmente significa os três últimos lançamentos. Por exemplo, em agosto de 2020, apenas Catalina, Mojave e High Sierra são compatíveis com o Homebrew.

Por outro lado, os MacPorts podem ser instalados no Tiger (!) E o projeto mantém patches especiais para manter o software trabalhando sempre que possível. Eles também mantêm uma biblioteca de ” Suporte legado ” que transporta símbolos de versões novas do macOS para versões anteriores; vincular a esta biblioteca durante a compilação pode fazer com que todos os tipos de software novo funcionem repentinamente em sistemas mais antigos!

Então, se você estiver executando uma versão antiga do macOS ou se achar que pode precisar permanecer em um SO atual após a data de expiração da Apple, esse é definitivamente um motivo para escolher MacPorts.

Resposta

O Brew estava completamente suave para eu usar, então não posso dizer sobre seus contras. Algumas desvantagens dos MacPorts:

Existem várias perguntas muito populares sobre os dois primeiros pontos.

Comentários

  • Esta foi minha experiência instalar ImageMagick em 10.6; preparar foi muito fácil, mas não ‘ t inclua o delegado JP2. imagemagick.org/script/binary-releases.php
  • brew e macports requerem apenas ferramentas de linha de comando Xcode, então o mesmo aqui.
  • @Mark I ‘ Não tenho certeza do que você quer dizer, mas brew funcionou perfeitamente para mim sem Xcode.
  • Você ‘ Vou precisar de um complier para brew e MacPorts, que pode ser instalado por meio das ferramentas de linha de comando do Xcode. Você não vai precisar do aplicativo Xcode .
  • Esqueci como é feio sincronizar isso quando está atrás de um firewall … caramba!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *