Semana passada eu comecei a dar uma cara nova pro meu blog e como eu uso Jekyll, resovi testar com o Yeoman (link do generator aqui, YO!). Devido a minha experiência eu decidi compartilhar algumas instruções sobre como instalar o Node.js/NPM de modo que você não precise usar o comando sudo (descobri que precisava dessa restrição ao usar o generator-jekyllrb).

O Problema

Nota: esse tutorial foi executado no Ubuntu 14.04

Passei um tempinho à procura de soluções para esse problema. Por um tempo parecia que eu teria de executar npm com sudo, mas eu sabia que só iria dar merda na frente.

Algumas soluções sugeriam modificar as permissões usando sudo chown -R 'victor' [diretorio] ou outros comando de permissão, a fim de dar o usuário as permissões para executar npm sem usar sudo. Infelizmente (ou felizmente), mesmo modificando as permissões não resolvia meu problema (eu consegui quebrar o sitema algumas vezes, até que quebrou o pacote sudo rsrsr).

Antes de tudo

Antes de seguir para a instalação você deve verificar se existe versões anteriores do Node.js e NPM instaladas em seu sistema. No seu terminal execute os comandos:

1
2
$ which node
$ which npm

Se não mostrar nenhuma mensagem após qualquer um dos comandos acima é porquê não existe nenhum dos dois instalados no seu sistema.

No site do NPM tem um bom artigo de como remover corretamente o NPM. Porém o seguinte comando é suficiente para removê-lo:

1
$ sudo npm uninstall npm -g

Se não remover sugiro que dê uma olhada no artigo que citei acima.

Remover o Node é um pouco mais chato, pelo menos eu achei que fosse rsrsrs :smirk:. Eu segui os passos listados nessa resposta. Eu não vou reformular a resposta, pois é bastante breve.

Nota: se você instalou o Node em outro diretório (que não seja o padrão) os arquivos provavelmente vão estar em locais diferente dos que estão listados na resposta.

Existem outras soluções para remover o Node por aí, então sinta-se se livre para deixar um comentário com qualquer outra solução.

A solução

FELIZMENTE, tropecei em uma solução que não necessita de permissões modificadas. Vamos usar o Node Version Manager (NVM) para instalar o Node e o NPM.

Instalando o NVM

Primeiro, abra o teminal e execute um dos comandos a seguir:

usando curl:

1
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.12.1/install.sh | bash 

ou usando wget:

1
$ wget https://raw.githubusercontent.com/creationix/nvm/v0.12.1/install.sh | bash 

Quando terminar o download execute o comando:

1
$ source ~/.profile 

Agora os comandos NVM devem estar funfando no seu terminal, execute $ nvm para confirmar se os comandos do NVM estão funcionando. Se não, reinicie o terminal.

Depois que o NVM estiver funcionando, você pode instalar uma versão do Node com o comando:

1
$ nvm install [version-node]

Para listar as versões disponiveis execute:

1
$ nvm ls-remote

Eu acho melhor instalar a versão atual do NodeJS. A versão atual no momento que estou escrevendo esse artigo, é v0.10.35. Para instalar essa versão execute:

1
$ nvm install 0.10.35

Você pode verificar qual versão do Node tá sendo usada com o comando:

1
$ nvm current

Para verificar, no geral, qual versão do node tá sendo usada:

1
$ node -v

E para verificar, no geral, qual versão do NPM tá sendo usada:

1
$ npm -v

Agora você não tem que lidar com erros de permissão com o Node/NPM.

O segundo problema

Depois que eu instalei o pacote generator-jekyllrb e executei $ yo jekyllrb, ele deu erro de permissão ao instalar as dependências do Jekyll (bundle install).

Solução

A solução é instalar o Ruby Version Manager (RVM). Sim, existe uma par de outras soluções, mas achei essa bem mais simples. No próprio site do RVM você pode ver como instalar.

Se houver alguma dúvida ou recomendação sinta-se à vontade para deixar um comentário abaixo.

compartilhe

comments powered by Disqus