Resolva este problema do Node.js – cannot find module XXXXX

Este problema é mais comum quando se usa o NPM com algum módulo global sobre o terminal (linha de comando) – o Tuild por exemplo.

Não sei bem como descrever o erro, mas é um erro mais menos assim:

Error: Cannot find module 'tuild' at
Function._resolveFilename (module.js:322:11) .........

Qual é a solução para este problema? É bem mais simples do que você imagina…
O Node.js usa a variável do sistema NODE_PATH para encontrar os módulos no disco. O que acontece, é que o NPM usa um PATH diferente do padrão do Node.js.

Node: NODE_PATH=”/usr/local/lib/node”
NPM: NODE_PATH=”/usr/local/lib/node_modules”

Para solucionar, você só precisar dar um merge nos 2 paths, ficando assim:
NODE_PATH=”/usr/local/lib/node:/usr/local/lib/node_modules”

Certo, e como se faz isso? Simples, execute o comando abaixo no seu terminal… é só copiar e colar que ele faz tudo sozinho:

# Altere .bashrc se for necessário
cat >> ~/.bashrc <<EOF

# NodeJS + NPM
export NODE_PATH="/usr/local/lib/node:/usr/local/lib/node_modules"
EOF

Agora reinicie o terminal… Simples não?

Faça um Comentário