Skip to content

Latest commit

 

History

History
156 lines (134 loc) · 4.42 KB

instalacao-ruby.md

File metadata and controls

156 lines (134 loc) · 4.42 KB

#Instalação Ruby

##RVM (Ruby Version Manager) Ferramenta que facilita a instalação e gerenciamento de múltiplas versões de Ruby e conjuntos de dependências de um projeto, chamadas gems. Gemset é o conjunto de gems.

Instalação

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
sudo apt-get install curl
curl -sSL https://get.rvm.io | bash -s stable --ruby #Instala o rvm, com a versão mais recente de ruby

Para que o RVM seja inicializado, é preciso fechar a janela do terminal, e abrir uma nova, ou executar o seguinte comando na janela de terminal corrente:

source ~/.rvm/scripts/rvm

Comandos úteis

Lista as versões de ruby instaladas
rvm list
Mostra as últimas versões de ruby lançadas
 rvm list known
Instala um versão de ruby
rvm install versao_de_ruby
Seleciona um versão de ruby
rvm use versao_de_ruby
Seleciona versão de Ruby em determinado gemset(Cria se não existir)
rvm use versao_de_ruby@nome_do_gemset --create
Cria um gemset
rvm gemset create nome_do_gemset
Remove um gemset
rvm gemset delete nome_do_gemset
Esvazia um gemset
rvm gemset empty nome_do_gemset

Leia mais em: https://rvm.io

.ruby-version e .ruby-gemset

Com o fim de facilitar a seleção de ruby e criação de gemset próprio, no diretório do seu projeto podem ser criados os arquivos .ruby-version (responsável por escolher versão de ruby) e .ruby-gemset (responsável por escolher o gemset, caso não exista é criado automaticamente). Esses arquivos serão lidos automaticamente pelo RVM no momento em que se entre no diretório do projeto.

.ruby-version
versao_de_ruby
.ruby-gemset
nome_do_gemset

RubyGems

Gerenciador de pacotes de Ruby que possibilita a distribuição de programas e bibliotecas empacotadas em um formato chamado gem. Faz parte da biblioteca padrão de Ruby desde a versão 1.9.

####Comandos úteis

Instala uma gem
gem install nome_da_gem
Instala uma gem em uma versão específica
gem install nome_da_gem -v versao_da_gem
Desinstala uma gem
gem uninstall nome_da_gem
Atualiza uma gem
gem update nome_da_gem

Leia mais em: http://guides.rubygems.org

Bundler

Ferramenta que facilita o gerenciamento de gems de um projeto. Todas as dependências de um projeto são definidas em um arquivo chamado Gemfile. Uma vez criado esse arquivo, as gems podem ser baixadas e instaladas automaticamente.

Antes de instalar as gems, essa ferramenta verifica se as versões das gems definidas são compatíveis entre si e se estas podem ser todas carregadas ao mesmo tempo. Após a instalação, o arquivo Gemfile.lock é gerado, responsável por armazenar as versões exatas de gem que foram instaladas, permitindo consistência entre ambientes em que vários desenvolvedores trabalham juntos, por exemplo. Por esse motivo, é importante sempre fazer commit desse arquivo.

Instalação

  gem install bundler

Gemfile

É necessário que seja declarado ao menos uma origem de onde as gems serão baixadas. O Gemfile padrão usa como origem o https://rubygems.org.

Exemplo
source 'https://rubygems.org'
gem 'nokogiri'
gem 'rack',  '>=1.0'
gem 'thin',  '~>1.1'

Gems também podem ser baixada de um repositório git:

gem 'nokogiri', :git => 'https://github.com/tenderlove/nokogiri.git', :branch => '1.4'

Gems podem ser referenciadas de um diretório local:

gem 'extracted_library', :path => './vendor/extracted_library'

Também é possivel definir grupos:

gem 'wirble', :group => :development
gem 'debugger', :group => [:development, :test]

group :test do
  gem 'rspec'
end

Comandos úteis

Gera um Gemfile no diretório corrente
  bundle init
Instala as gems definidas no Gemfile
  bundle install
Remove gems não utilizadas no projeto
  bundle clean --force
Atualiza a versão da gem no Gemfile.lock
bundle update nome_da_gem
Atualiza todas as gems
bundle update

Leia mais em: http://bundler.io

Versionamento Semântico

Tanto as versões de Ruby, como as de suas gems seguem o versionamento semântico.

Leia mais em: http://semver.org/lang/pt-BR/