sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv version
rbenv install 2.6.1
ruby -v
rbenv global 2.6.1
gem install bundler
rbenv rehash
git config --global color.ui true
git config --global user.name "seu nome aqui"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -b 4096 -C "[email protected]"
cat ~/.ssh/id_rsa.pub
ssh -T [email protected]
gem install rails -v 5.2.2
rails -v
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash
source ~/.bashrc
nvm install 4.4.7
mkdir rails
cd rails
rails new app
cd app
Primeiramente, instala o Docker Desktop (link aqui).
Depois que o Docker tiver instalado, verifica se está funcionando no seu terminal com o seguinte comando:
docker --version
Se tiver tudo certinho, isso deve retornar algo como:
Docker version 26.0.0, build 2ae903e
Agora verifica se o docker-compose está instalado com o seguinte comando:
docker-compose --version
Se tiver tudo certinho, isso deverá retornar algo como:
Docker Compose version v2.26.1-desktop.1
Agora você precisa criar um arquivo chamado docker-compose.yml
dentro do seu projeto Rails com o seguinte conteúdo:
services:
dev_db:
image: postgres:14.2
container_name: rails_pg
environment:
- POSTGRES_USER=contact_list_development
- POSTGRES_PASSWORD=contact_list
- POSTGRES_DB=contact_list
ports:
- "5432:5432"
volumes:
- ./pg_data:/var/lib/postgresql/data
Agora você vai iniciar um Docker container baseado nesse arquivo. Não se preocupa se você não tem experiencia com Docker, isso aqui vai ser suficiente para rodar esse container.
Agora executa o seguinte comando no teu terminal, assumindo que você está dentro da pasta do seu projeto Rails:
docker-compose up
Esse comando vai ler o arquivo docker-compose.yml
e vai criar um container do Postgres pra você. Deixa essa janela do seu terminal aberta em background. Agora o Postgres está disponível para você.
Você vai notar que no docker-compose.yml
que criamos anteriormente existem 2 variáveis de ambiente configuradas lá como:
# ... mais conteúdo aqui
- POSTGRES_USER=contact_list
- POSTGRES_PASSWORD=contact_list
- POSTGRES_DB=contact_list
Você precisa usar esses valores no seu arquivo config/database.yml
no seu projeto Rails da seguinte forma:
# .... mais conteúdo aqui ....
development:
<<: *default
database: contact_list
username: contact_list
password: contact_list
Agora quando você inicializar seu app Rails, ele vai se conectar no Postgres que está rodando no Docker container.
bundle exec rails db:crate
bundle exec rails db:migrate
rails s
Abra seu browser e vá para o endereço localhost:3000
o projeto final que criaremos durante todo o curso está disponível no link abaixo: https://github.com/brunojppb/rails_contact_list
@caiomello94 ultimamente eu tenho usado o Postgres via Docker que é bem mais fácil de instalar e configurar. Olha só, tenta fazer isso aqui:
Primeiramente, instala o Docker Desktop (link aqui).
Depois que o Docker tiver instalado, verifica se está funcionando no seu terminal com o seguinte comando:
Se tiver tudo certinho, isso deve retornar algo como:
Agora verifica se o docker-compose está instalado com o seguinte comando:
Se tiver tudo certinho, isso deverá retornar algo como:
Agora você precisa criar um arquivo chamado
docker-compose.yml
dentro do seu projeto Rails com o seguinte conteúdo:Agora você vai iniciar um Docker container baseado nesse arquivo. Não se preocupa se você não tem experiencia com Docker, isso aqui vai ser suficiente para rodar esse container.
Agora executa o seguinte comando no teu terminal, assumindo que você está dentro da pasta do seu projeto Rails:
Esse comando vai ler o arquivo
docker-compose.yml
e vai criar um container do Postgres pra você. Deixa essa janela do seu terminal aberta em background. Agora o Postgres está disponível para você.Atualizando usuário e senha do app Rails
Você vai notar que no
docker-compose.yml
existem 2 variáveis de ambiente configuradas lá como:Você precisa usar esses valores no seu arquivo
config/database.yml
no seu projeto Rails da seguinte forma:Agora quando você inicializar seu app Rails, ele vai se conectar no Postgres que está rodando no Docker container.