<RubyGems + Bundler
For many, CocoaPods is the first introduction to dependency management in programming projects. Muitas medidas para CocoaPods vieram de projetos semelhantes (por exemplo RubyGems, Bundler, npm e Gradle).
compreender a gestão de dependências de Ruby é útil porque lhe permite especificar versões de CocoaPods ou outras pedras preciosas e garantir que todos os programadores da sua equipa tenham exactamente a mesma versão. Este guia é para pessoas que procuram assegurar a consistência em suas dependências de equipe ou para usar versões não lançadas de CocoaPods.
<RubyGems
RubyGems é um serviço de biblioteca ruby hospedado. Centraliza onde você procura uma biblioteca, e instala bibliotecas ruby / aplicativos.Você terá visto gem install xxx
. Estes são instalados em uma base de dados central de versões. Se você imaginar que CocoaPodsinstalls todas as bibliotecas / frameworks em uma pasta de Sistema e eles estão ligados em tempo de execução, então você tem a idea áspera de como RubyGems mantém todas as jóias.
a desvantagem disso é que não há maneira de garantir que um projeto que necessita de uma versão específica de uma biblioteca pode usar isso, ele sempre usaria a versão mais recente. Então, como desenvolvedor, você seria cauteloso instalando uma nova versão de uma biblioteca porque ela seria usada em todas as bibliotecas / aplicativos. Este é o problema que o bundler resolve.
<Bundler
Bundler cria um ambiente de aplicação consistente para a sua aplicação, permitindo-lhe especificar a versão das bibliotecas.Aceitámos esta ideia quase totalmente à venda para os CocoaPods. Você define um Gemfile que diz que bibliotecas você deseja incluir, e pode especificar opcionalmente uma versão ou intervalo. Você executa bundle install
e irá gerar um Gemfile.lock diz a versão exata de todas as suas bibliotecas e, em seguida, qualquer outra pessoa executando bundle install
com esse projeto recebe as mesmas versões exatas.
< o que é um Gemfile?
se tiver lido o guia no ficheiro Podfile, sentir-se-á muito semelhante. Um Gemfile é um arquivo ruby que define suas dependências de rubyd. Aqui está um existente de um projeto de cacau.