I'm trying to use nodeenv but it doesn't seem like binaries are getting linked for npm installed modules.
$ mkvirtualenv venv
(venv)$ pip install nodeenv
(venv)$ nodeenv -p
(venv)$ deactivate
$ workon venv
(venv)$ which grunt
/usr/local/bin/grunt
(venv)$ npm install -g grunt
...
(venv)$ which grunt
/usr/local/bin/grunt
(venv)$ cd $WORKON_HOME/venv
(venv)$ ls bin
activate activate.fish easy_install get_env_details nodeenv pip postactivate preactivate python
activate.csh activate_this.py easy_install-2.7 node npm pip-2.7 postdeactivate predeactivate
### no grunt exe!
(venv)$ ls lib/node_modules
fsevents grunt mean npm recursive-readdir
### but it's in node_modules!
Am I doing something wrong?
You need to deactivate your venv and activate it then with source bin/activate
There are some node related environment changes. I found it trying integrate nodeenv in my jenkins build process.
The other way is to make required environment by hands. For example Jenkins Shiningpanda don't allow to deactivate virtualenv (or I don't know how), so I used this workaround