Preparando o Ubuntu para Desenvolvimento Web
Meu primeiro contato com linux foi através do Ubuntu, talvez por isso eu tenha um carinho tão grande por esta distro. Ela trás muitas facilidades na hora de fazer configurações, instalar programas e pacotes. Na maioria das vezes vocês vai sempre encontrar um pacote .deb de algum programa ou um ppa para adicionar ao repositório facilitando os caminhos.
Já utilizei várias e a que me deu menos dor de cabeça foi o Ubuntu.
Escopo da Instalação
- Instalando alguns compiladores e dependências de desenvolvimento do sistema
- Copie e cole via linha de comando com o xclip
- Configurar chave SSH no GitHub
- ASDF - Gerenciador de versões
- Docker
- Docker-compose
- Visual Studio Code
- Angular Cli
- Typescript
- Yarn
- Insonmia
1. Instalando alguns compiladores e dependências de desenvolvimento do sistema
sudo apt install build-essential default-jdk libssl-dev exuberant-ctags ncurses-term ack-grep silversearcher-ag fontconfig imagemagick libmagickwand-dev software-properties-common git vim-gtk3 curl
2. Copie e cole via linha de comando com o xclip
xclip é um utilitário projetado para copiar e colar conteúdo de arquivos via de linha de comando. O mesmo já vem por padrão no repositório da maioria das distribuições linux. Como a distro em evidência aqui é o ubuntu e derivados vou mostrar apenas a instalação no mesmo. Segue o comando abaixo:
sudo apt install xclip
3. Configurar chave SSH no GitHub
Umas das primeiras coisas que faço nas minhas instalações é gerar uma chave SSH e configurar a mesma no GitHub para conseguir clonar meus repositórios com mais facilidade e segurança.
Os passos para instalação podem ser seguidos na documentação oficial, mas para facilitar vou explicar a forma que eu faço.
Com o git já instalado vamos executar o seguinte comando no terminal de sua preferência substituindo o conteúdo entre aspas pelo seu email cadastrado na conta do GitHub:
ssh-keygen -t ed25519 -C "[email protected]"
com o xclip instalado no passo 2, agora vamos copiar a chave ssh com o comando abaixo.
xclip -i -sel copy ~/.ssh/id_ed25519.pub
Agora abra o menu de configurações que fica no canto superior direito da página do GitHub:
Procure pela no menu esquerdo agora a opeção de configuração de chaves SSH e GPG. As minhas opções de menu estão em inglês porque é o idioma padrão que eu uso no sistema.
Agora é só clicar no botão de SSH Key, vai abrir a tela abaixo. Adicione um título para a chave e logo abaixo cole o conteúdo da chave copiado com o xclip.
4. ASDF - Gerenciador de versões
Através do asdf você pode instalar e gerenciar versões de diversas linguagens de programação para serem usadas globalmente no sistema ou localmente nos repositório definidos.
Download do repositório oficial:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.12.0
Para conseguir executar os comandos é preciso adicionar ao arquivo de configuração do shell que está sendo usado, bash, zsh ou outros.
No meu caso estou usando o bash então vou adicionar as linhas abaixo ao final do arquivo .bashrc. Caso não esteja usando o bash é só seguir a documentação oficial e seguir os passos para a instalação.
. "$HOME/.asdf/asdf.sh"
. "$HOME/.asdf/completions/asdf.bash"
Após configurar o asdf gosto de baixar as linguagens de programação que eu mais uso. Então vou instalar a versão LTS do nodeJS, que atualemnte é a 18.17.1 e do Ruby. Para isso vamos seguir os seguintes passos:
Primeiro vamos adicionar as dependências do node.
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
E logo após baixar as depedências vamos instalar a versão com o seguinte comando.
asdf install nodejs 18.17.1
Após instalar o node precisamos definiar se essa versão vai ser usada globalmente no sistema ou localmente em alguma projeto. No meu caso vou usar globalmente então segue o comando abaixo:
asdf global nodejs 18.17.1
Vamos também fazer o mesmo processo na instalação do ruby.
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
Ao tentar instalar as versões mais atuais do ruby tive alguns problemas por isso antes foi preciso instalar algumas dependências antes, execute o comando abaixo antes de seguir para a instalação.
sudo apt install curl g++ gcc autoconf automake bison libc6-dev libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool libyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev libreadline-dev libssl-dev
Seguindo agora vamos de fato instalar a versão mais recente no momento que é a 3.2.0.
asdf install ruby 3.2.0
Agora podemos definir a versão instalada como global.
asdf global ruby 3.2.0
5. Docker - https://get.docker.com/
Para facilitar nossa vida na hora de trabalhar com bancos de dados e algumas outras ferramentas sem precisar ficar instalando tudo na máquina física vamos trabalhar como docker que cria containers facilicantando a manipulação dessas ferramentas. Para instalação é só seguir os passos seguintes.
curl -v https://get.docker.com/ >> script.sh
chmod +x script.sh
sh script.sh
sudo usermod -aG docker $USER
sudo systemctl start docker
sudo systemctl enable docker
Em seguida faça o logout para atualizar as permissões.
6. Docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/2.21/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
7. Visual Studio Code
Vá até a página de download e faça o download do arquivo .deb, que é o formato padrão dos pacotes no Ubuntu e seus derivados.
Após fazer o download vá até a pasta onde o arquivo foi baixado, no meu caso está na pasta Downloads, e execute o seguinte comando.
sudo dpkg -i code_1.81.1-1691620686_amd64.deb
8. Angular Cli
O Angular CLI é uma ferramenta de interface de linha de comando que você usa para inicializar, desenvolver, estruturar e manter aplicativos Angular diretamente de um shell de comando.
Com o node instalado basta apenas executar o comando abaixo no terminal.
npm install -g @angular/cli
9. Typescript
TypeScript é um superconjunto de JavaScript, ou seja, um conjunto de ferramentas e formas mais eficientes de escrever código JavaScript, adicionando recursos que não estão presentes de maneira nativa na linguagem. Saiba mais sobre TypeScript, suas principais vantagens e como utilizá-lo em seus projetos.
Com o node instalado basta apenas executar o comando abaixo no terminal.
npm install -g typescript
10. Yarn
Yarn assim com o Npm é um gerenciamento de pacotes, sendo o Npm o gerenciador padrão do Node. js, enquanto o Yarn foi criado pelo Facebook. Segue comando para instalar o mesmo através do npm.
npm install --global yarn
11. Insonmia
Insomnia REST Client é um poderoso cliente REST API usado para organizar, armazenar e executar solicitações de API RESTful com elegância. Insomnia é um dos clientes REST rápidos disponíveis para Windows, Mac e Linux. O cliente REST Insomnia é uma estrutura de desktop multiplataforma gratuita para testar aplicativos RESTful. Para fazer a instalação do mesmo basta seguir os passos abaixo.
echo "deb https://dl.bintray.com/getinsomnia/Insomnia /" \
| sudo tee -a /etc/apt/sources.list.d/insomnia.list
wget --quiet -O - https://insomnia.rest/keys/debian-public.key.asc \
| sudo apt-key add -
sudo apt-get update
sudo apt-get install insomnia