How to install NPM package in a home directory (PyCharm)

I don't like to install things as a root user. If it's possible to install
something in my home directory, why not use it?

I use PyCharm for programming and for example to validate JavaScript code
it needs package. Let's install ESLint in home
directory and make it globally accessible.

First, we need to tell NPM that it should install everything in ~/.npm

npm config set prefix '~/.npm'  

Now every time when you install NPM package using -g option it will
install it in ~/.npm directory. You don't need the root access to do it.
All executables will be in ~/.npm/bin directory. For example if I install
ESLint using npm install -g eslint command then it will be possible to
run eslint command from terminal using full path:


It's inconvenient, right? It's better to be able to use just eslint
command. To achieve that we need to modify ~/.bash_profile file.
Find in this file line which starts with PATH= and add ~/.npm/bin
at the end of the line. In my ~/.bash_profile file it looks like this:


If the line with PATH doesn't exist then you can add it:


Now you need to apply changes.

source ~/.bash_profile  

And it's done. You should be able to run eslint without specifying the full
path to the file.

Quick tip about PyCharm. PyCharm needs a full path to the ESLint directory,
not to ESLint executable file. In settings you need to use
~/.npm/lib/node_modules/eslint path.

PyCharm - ESLint configuration