Como instalar o Node-RED localmente?

Nesse artigo eu respondo a pergunta que pode ser feita dessas formas:

  • Como instalar o Node-RED localmente (não global)?
  • Como instalar o Node-RED em uma pasta específica, não necessariamente amarrada ao seu usuário?
  • Como instalar o Node-RED em pastas diferentes, e ter vários projetos Node-RED separados, em paralelo?
  • Como instalar vários Node-REDs para permitir que você execute e gerencie projetos Node-RED diferentes simultaneamente?

Essa dica serve para Windows, Linux e Mac.

Por que isso é importante?

Imagine que você irá começar um projeto Node-RED e gostaria de usar algumas bibliotecas instaladas via npm (isso é bem válido porque muitos plugins do node-red não são atualizados!).

É uma boa prática instalar o Node-RED localmente porque você pode ter problemas de dependência. Qualquer comando que atualizar o npm globalmente poderá quebrar o seu Node-RED.

Crie uma pasta e vá até ela usando o cmd, powershell ou terminal.

cd C:/meu-projeto-nodered# Configure o projeto do jeito que deseja com os passos que aparecem na tela após digitar o comando:npm init# Instale o pacote d node-red:npm i node-red# Instale outras dependências desejadas:npm i luxon lodash

Agora edite o arquivo C:/meu-projeto-node-red/package.json e adicione dentro da propriedade "scripts" o seguinte:

{  "name": "meu-projeto-node-red",  "version": "1.0.0",  "description": "este eh meu projeto node-red localmente instalado",  "main": "index.js",  "scripts": {    "test": "echo \"Error: no test specified\" && exit 1",    "start": "node node_modules/node-red/red.js -v -u ."  },  "author": "",  "license": "ISC",  "dependencies": {    "node-red": "^1.2.9"  }}

Perceba que o arquivo que inicia o Node-RED é o:
/node_modules/node-red/red.js

Para inciar o Node-RED use o comando

# Estando dentro da pasta do projeto... C:/meu-projeto-noderednpm start

Não esqueça de adicionar as bibliotecas desejadas no arquivo settings.js na propriedade functionGlobalContext.

Referências

Instalando Node-RED Globalmente ou não? Fórum Node-RED
https://discourse.nodered.org/t/to-install-node-red-globally-or-not-to/216/3

You should also read: