Acabei de mudar para um Mac a partir do Ubuntu. Fiquei decepcionado que o mac não tem o conveniente sudo apt-get
no Ubuntu. Ouvi dizer que devo usar o homebrew, mas não sei exatamente o que o homebrew ou o macports faz?
Acabei de mudar para um Mac a partir do Ubuntu. Fiquei decepcionado que o mac não tem o conveniente sudo apt-get
no Ubuntu. Ouvi dizer que devo usar o homebrew, mas não sei exatamente o que o homebrew ou o macports faz?
Respostas:
MacPorts é o caminho a percorrer.
Como @ user475443 apontou, o MacPorts possui muitos outros pacotes. Com a fermentação, você ficará preso em breve porque a fórmula necessária não existe.
MacPorts é um aplicativo nativo: C + TCL. Você não precisa de Ruby. Para instalar o Ruby no Mac OS X, você pode precisar do MacPorts, então vá com o MacPorts e ficará feliz.
O MacPorts é realmente estável, em 8 anos eu nunca tive um problema com ele, e todo o meu ecossistema Unix se baseia nele.
Se você é desenvolvedor de PHP, pode instalar a última versão do Apache (Mac OS X usa 2.2), PHP e todas as extensões necessárias, e depois atualizar tudo com um único comando. Esqueça de fazer o mesmo com o Homebrew.
Grupos de suporte MacPorts.
foo@macpro:~/ port select --summary
Name Selected Options
==== ======== =======
db none db46 none
gcc none gcc42 llvm-gcc42 mp-gcc48 none
llvm none mp-llvm-3.3 none
mysql mysql56 mysql56 none
php php55 php55 php56 none
postgresql postgresql94 postgresql93 postgresql94 none
python none python24 python25-apple python26-apple python27 python27-apple none
Se você possui o PHP55 e o PHP56 instalados (com muitas extensões diferentes), é possível alternar entre eles com apenas um comando. Todas as extensões relativas fazem parte do grupo e serão ativadas dentro do grupo escolhido: php55 ou php56. Não tenho certeza se o Homebrew possui esse recurso.
Rubists gostam de reescrever tudo em Ruby, porque a única coisa que eles estão à vontade é o próprio Ruby.
Homebrew e macports resolvem o mesmo problema - que é a instalação de bibliotecas e utilitários comuns que não são fornecidos com o osx.
Normalmente, são bibliotecas relacionadas ao desenvolvimento e o uso mais comum dessas ferramentas é para desenvolvedores que trabalham no osx.
Ambos precisam das ferramentas de linha de comando xcode instaladas (que você pode baixar separadamente em https://developer.apple.com/ ) e, para alguns pacotes específicos, você precisará de todo o IDE xcode instalado.
O xcode pode ser instalado a partir da Mac App Store, é um download gratuito, mas demora um pouco desde que custa cerca de 5 GB (se bem me lembro).
macports é uma versão osx do utilitário de portas do BSD (como o osx é derivado do BSD, essa era uma escolha natural). Para qualquer pessoa familiarizada com qualquer uma das distribuições BSD, os macports se sentirão em casa.
Uma grande diferença entre homebrew e macports; e a razão pela qual prefiro o homebrew é que ele não substituirá as coisas que devem ser instaladas "nativamente" no osx. Isso significa que, se houver um pacote nativo disponível, o homebrew o notificará em vez de substituí-lo e causar problemas mais adiante. Também instala bibliotecas no espaço do usuário (assim, você não precisa usar o "sudo" para instalar as coisas). Isso ajuda a se livrar das bibliotecas também, pois tudo está em um caminho acessível para você.
O homebrew também possui uma comunidade de usuários mais ativa e seus pacotes (chamados de fórmulas) são atualizados com bastante frequência.
O macports não substitui os pacotes OSX nativos - ele fornece sua própria versão - Esse é o principal motivo pelo qual prefiro o macports ao home-brew, você precisa ter certeza do que está usando e a mudança da Apple em momentos diferentes das portas e é conhecida anos atrás de atualizações em alguns projetos
Você pode dar uma referência mostrando que os macports substituem pacotes nativos do OS X? Até onde eu sei, toda a instalação de macports acontece em
/opt/local
Talvez eu deva esclarecer - não disse em parte alguma da minha resposta que o macports substitua os pacotes nativos do OSX. Ambos instalam itens separadamente.
O Homebrew avisa quando você deve instalar as coisas "nativamente" (usando o instalador preferido da biblioteca / ferramenta) para obter melhor compatibilidade. Foi isso que eu quis dizer. Ele também usará o número de bibliotecas locais disponíveis no OS X. No wiki :
Nós realmente não gostamos de bobagens em Homebrew / homebrew
No entanto, gostamos de burros na torneira!
O material que acompanha o OS X ou é uma biblioteca fornecida pelo RubyGems, CPAN ou PyPi não deve ser enganado. Há boas razões para isto:
- Bibliotecas duplicadas interrompem regularmente compilações
- Erros sutis surgem com bibliotecas duplicadas e, em menor grau, ferramentas duplicadas
- Queremos que você se esforce mais para fazer sua fórmula funcionar com o que o OS X vem com
Opcionalmente, você pode sobrescrever as versões de utilitários fornecidas pela macosx com homebrew.
/opt/local
Atualmente, o Macports possui muito mais pacotes (~ 18,6 K) do que as fórmulas Homebrew (~ 3,1K), devido à sua maturidade. Homebrew está lentamente alcançando embora.
Pacotes Macport tendem a ser mantidos por uma única pessoa.
Os Macports podem manter várias versões de pacotes e você pode habilitá-las ou desabilitá-las para testar as coisas. Às vezes, essa lista pode ser corrompida e você deve editá-la manualmente para colocar as coisas em ordem novamente, embora isso não seja muito difícil.
Os dois gerenciadores de pacotes solicitarão que sejam atualizados regularmente. Isso pode levar um tempo.
Nota: você pode ter os dois gerenciadores de pacotes no seu sistema! Não é um ou outro. Brew pode reclamar, mas Macports não.
Além disso, se você estiver lidando com pacotes python ou ruby, use um ambiente virtual sempre que possível.
Por padrão, o Homebrew instala pacotes no seu / usr / local. Os comandos do Macport exigem que o sudo seja instalado e atualizado (semelhante ao apt-get no Ubuntu).
Para mais detalhes:
Este site sugere o uso do Hombrew: http://deephill.com/macports-vs-homebrew/
considerando que este site lista as vantagens do uso de Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
Também mudei do Ubuntu recentemente e gosto de usar o homebrew (é simples e fácil de usar!), Mas se você se sentir ligado ao uso do sudo, o Macports pode ser o melhor caminho a seguir!
/usr/local
para a Homebrew. A Apple partiu /usr/local
para "executáveis, bibliotecas, etc., não incluídos no sistema operacional básico". Isso significa que é possível que as ferramentas instaladas antes do uso do Homebrew tenham sido criadas para /usr/local
que não possam ser modificadas sem sudo
. Eles não discutem isso no wiki.
/usr/local
sem permissões de root. As permissões padrão para /usr
uma nova instalação do OS X são o proprietário raiz, sem permissões de gravação para mais ninguém. Para criar /usr/local
, o Homebrew precisaria de acesso root. (Não estou tentando defender qualquer coisa)
homebrew
pode instalar as coisas sem, sudo
porque, quando configurada, costumava sudo
tornar a permissão no diretório mais frouxa, para que ele pudesse fazer qualquer coisa dentro /usr/local
sem acionar a senha. Isso significa que a parte "instalar sem senha" está errada? Acho que não! Ainda é verdade que homebrew
será possível obter coisas sem a senha.