Skip to content

Instantly share code, notes, and snippets.

@erkobridee
Last active December 2, 2022 04:24
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save erkobridee/4089098 to your computer and use it in GitHub Desktop.
Save erkobridee/4089098 to your computer and use it in GitHub Desktop.
Utilizando o Node.js em um Windows sem Administrador

Utilizando o Node.js em um Windows sem Administrador

Cenário: ambiente corporativo, máquinas Windows XP e usuário sem permissão de administração.

Observação: embora o cenário descrito seja o Windows XP, os passos para o Windows 7 são bem parecidos.

--

TODO: observar Yeoman behind a (corporate) proxy

Instalação e Configuração

Versão Portavél - Portable Node.js

Basta descompactar a respectiva versão compatível com seu Windows em um diretório que você possua direito de escrita.

Por exemplo: D:/dev/nodejs

Feito isso, para facilitar o uso do Node.js pelo terminal de comandos, crie uma variável de ambiente NODE_PATH e aponte para o diretório onde você descompactou o Node.js, então adicione o NODE_PATH ao final da variável PATH.

Caminho:

Iniciar > Configurações > Painel de Controle > Sistema

ou

Windows Key (tecla com simbolo do Windows) + Pause - Atalho para Sistema

Na janela do Sistema, selecione a aba: Avançado, no final de janela, clique no botão : "Variáveis de ambiente"

Feito isso o Node.js irá funcionar no terminal de comando através do comando: node

Observação: o npm (Node Packaged Modules), como está no mesmo diretório do node, também estará disponível no terminal de comando, porém será necessário algumas configurações para seu funcionamento correto.

O diretório dos pacotes globais do npm está apontando por padrão para o diretório de dados de aplicações do usuário no Windows, ou seja, em outro diretório, diferente do local onde está o Node.js e o NPM. Com isso, será necessário atualizar o diretório dos pacotes globais utilizados pelo npm.

Para isso via, terminal de comando utilize o comando:

npm config set prefix {Diretório do Node.js e NPM}

Feito isto, o Node.js e o NPM estão prontos para uso.

NPM vs. Proxy NTLM

Lembrando que estamos em um ambiente corporativo, neste temos um PROXY entre o computador e a internet, e normalmente as redes corporativas utilizam PROXY NTLM, o npm não conseguirá acessar o repositório na internet. Com isto, será necessário o uso de um recurso auxiliar para passar pelo PROXY.

Conforme GitHub NPM ISSUE 2119 o NPM não possui suporte para acessar o repositório na internet através de um Proxy NTLM. Segundo a dica disponível na própria issue, será necessário utilizar uma alternativa local para passar pelo Proxy NTLM.

Dentre as alternativas apresentadas, foi utilizado:

NtlmMaps - NTLM Authorization Proxy Server (Python) | GitHub Code

NtlmMaps - é um proxy local onde se configura o proxy da empresa, definindo as configurações de acesso.

Instalando e Configurando o Python 2.x

Como esta implementação é em Python, será necessário ter o Python 2.x no computador. (Recomendado instalar a versão 2.7.3 ou superior | Estou utilizando a versão 2.7.3)

Download : Python 2.x.x Windows Installer

Durante o processo de instalação, indique o diretório onde você possua acesso para escrita.

Por exemplo: D:/dev/python

Feito isso, para facilitar o uso do python pelo terminal de comandos, crie uma variável de ambiente PYTHON_PATH e aponte para o diretório onde você descompactou o Python, então adicione o PYTHON_PATH ao final da variável PATH.

caminho:

Iniciar > Configurações > Painel de Controle > Sistema

ou

Windows Key (tecla com simbolo do Windows) + Pause - Atalho para Sistema

Na janela do Sistema, selecione a aba: Avançado, no final de janela, clique no botão : "Variáveis de ambiente"

Instalando e Configurando o NtlmMaps

Descompacte o arquivo do ntlmmaps em um diretório que possua acesso para escrita.

Por exemplo: D:/dev/ntlmmaps

Configurando o NtlmMaps:

  • edite o arquivo server.cfg, os items abaixo (mantive a ordem em que aparece no arquivo):

PARENT_PROXY : host do proxy da empresa, sem o "http://"

PARENT_PROXY_PORT : respectiva porta utilizada pelo proxy da empresa

NT_DOMAIN : nome do domínio de rede que a sua empresa utiliza

USER : seu login de rede

PASSWORD : sua senha de rede, porém caso não queria preencher é possível, então quando for executar a aplicação lhe será solicitado a sua senha da rede

NT_PART : o valor padrão deste atributo é 0, porém em algumas redes NTLM precisam dessa informação como no meu caso, então este atributo foi alterado para 1

  • edite o arquivo : runserver.bat

inicialmente ele possui um caminho predefinido do local de instalação do Python, porém como foi feito anteriormenteadicionado o Python ao PATH do Windows, basta alterar essa string por: python >> onde a linha ficará: python main.py

Uma vez configurado, execute o runserver.bat

NPM configurando o Proxy Local

Pelo terminal de comando execute os respectivos comandos para configurar o NPM.

npm config set proxy http://localhost:5865

npm config set registry "http://registry.npmjs.org/"

Aponta o NPM para o proxy local e altera a URL do repositório de pacotes do Node.js do https para o http.

Feito as respectivas configurações, agora o seu ambiente de desenvolvimento Node.js e NPM irá funcionar corretamente via linha de comando.

Ferramenta de desenvolvimento

Uma boa ferramenta que pode ser utilizada neste ambiente, é o Sublime Text 2, a qual possui versão portável.

@IdeMoraes
Copy link

Mas aqui configurações avançadas do sistema pede senha adm, aí não consigo variáveis de ambiente :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment