I realised that when I did a global installation of a node.js module (with the -g flag) node couldn't use that module unless I wrote the entire path.
I mean, this doesn't work if the module has been globally installed:
cheerio = require('cheerio'),
I have to write that:
cheerio = require('/usr/lib/node_modules/cheerio'),
How can I say to node that it has to look for the modules in the right path?
Thank you.
In general, I would suggest letting npm give you the path and set that as mentioned above:
For those in Windows platform add this to your PATH in system variables:
PS: Tested on Windows 8.1
You can add the following to ~/.bash_profile:
For people with ZSH installed:
echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.zshrc && . ~/.zshrc
The better way is to set the modules path in your js file.
In my case, i ran
npm install mysql
at /usr/etc, mysql will shown in "/usr/etc/node_modules", so this is the right path: