Although I'm running this setup inside a docker container, my project files are located in /app
and /app/package.json
exists
When I do cd /app && npm install --production
(as root or non root user), all dependencies get installed in ~/.npm
folder instead of showing up in /app/node_modules
I've also tried doing npm install --production --verbose --prefix /app
but the folder node_modules
still does not appear with the dependencies inside the app folder.
When I look at the error logs, I see messages like these for pretty much each dependency (eg: installing react).
npm verb tar unpack /root/.npm/base62/0.1.1/package.tgz
npm verb tar unpacking to /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb
npm verb tar unpack /root/.npm/source-map/0.1.31/package.tgz
npm verb tar unpacking to /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map
npm verb tar unpack /root/.npm/esprima-fb/13001.1001.0-dev-harmony-fb/package.tgz
npm verb tar unpacking to /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb
If I want to run as a root user, how can I get npm to always install all dependencies listed in package.json
inside a node_modules
folder in the app directory
Using npm@2.14.7, node@v4.2.3