segunda-feira, 13 de fevereiro de 2017

Node.js no Ubuntu 16.04LTS sem sudo

O  Node.js vem com o npm que é um gestor de pacotes para instalar e publicar pacotes. Até onde eu sei qualquer um pode publicar pacotes sem grandes restrições. Para instalar um pacote npm no modo "global" é necessário usar o sudo. Isso levanta algumas dúvidas a cerca da segurança.
Os pacotes mais utilizados normalmente não há problema porque há mais pessoas a ver o código e facilmente se detectava alguma coisa fora do normal. Alem disso os pacotes mais populares são normalmente desenvolvidos por programadores com uma boa reputação.

Para evitar de instalar pacotes npm com o sudo em "modo global" é possível fazer uma instalação manual do Node.js na pasta do "USER".

Primeiro é preciso baixar e descompactar o Node.js na pasta do "USER". https://nodejs.org

Depois de extrair o pacote node-vxxx-linux.tar.xz temos de exportar a localização do node para o .bashrc

CTRL+ALT+T para abrir uma linha de comando e para editar o .bashrc utilize o comando:

gedit .bashrc

Ou utilize o editor de texto de sua preferencia.
No fim do arquivo adicione as seguintes linhas:


export PATH=~/node-v.xxx-linux/bin:$PATH
export PATH=~/npm-global/bin:$PATH

Nota: Não esqueça de trocar o xxx pelo numero da versão do Node.js

Agora crie a pasta .npm-global onde irá ser instalado os pacotes npm.

mkdir ~/.npm-global

Agora é só configurar o npm para utilizar a pasta criada.

npm config set prefix '~/.npm-global'

O Node.js está pronto a ser utilizado e os pacotes instalados no modo global já não precisam de premisão do "sudo".




Programas em ingles numa instalação pt-BR ou pt-PT

Tem instalado o Ubuntu em pt_PT ou pt_BR e não gosta da tradução para português de algum programa?

Por exemplo gostava de usar o Gimp em en_US?
Abra um terminal Ctrl+Alt+T e execute o comando:

LANGUAGE=en_US gimp

Exemplo para o inkscape.

LANGUAGE=en_US inkscape

Para que estas alterações fiquem guardadas basta adicionar um alias no .bashrc
Abra o .bashrc no editor de texto gedit.

gedit .bashrc

Adicione no final o seguinte:

alias inkscape='LANGUAGE=en_US inkscape'