Executando verificação de segurança...
5

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

  1. Instalando alguns compiladores e dependências de desenvolvimento do sistema
  2. Copie e cole via linha de comando com o xclip
  3. Configurar chave SSH no GitHub
  4. ASDF - Gerenciador de versões
  5. Docker
  6. Docker-compose
  7. Visual Studio Code
  8. Angular Cli
  9. Typescript
  10. Yarn
  11. 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
Carregando publicação patrocinada...
2

Parabéns pelo artigo, vai facilitar muito a transição de quem vem do Windows.

Seguindo a mesma linha de guia de setup para desenvolvimento no Ubuntu, lembrei logo de cara do vídeo do Akita, onde ele aborda algumas configurações iniciais para começar a desenvolver com o Ubuntu. Pode servir como complemento para quem encontrar seu guia ou até mesmo para você!

1
1

Muito bacana!!

Estava com uma máquina "zerada" esse dias e tive que instalar tudo novamente. Tive a ideia de criar um app ou algum grupo de Scripts prontos para fazer a instalação de aplicativos que utilizamos no dia a dia onde vc vai habilitando os aplicativos que deseja. Vcs acreditam que faz sentido isso? Iria ajudar a comunidade de desenvolvedores? Já existe algo assim?

1
1
1

Obrigado por avisar! Em breve vou revisar esses posts que coloquei aqui. Estou refazendo meu site pessoal pra usar como portifólio, daí de início coloquei os posts mais com o objetivo de consumir eles através da API.
Mas é importante atualizar mesmo, obrigado novamente!

1

Esse post installation é ótimo, simples e completo. Adicionaria ubuntu-restricted-extras (pois navegadores não tocaram videos dos sites de cursos e treinamento), sublime text, wget, zip, unzip, rar, unrar. Além de subir postgres via docker.