Search code examples
node.jsnpmprefixnvm

nvm is not compatible with the npm config "prefix" option:


I am trying to run another NodeJS version with nvm but getting this error:

$ nvm use v4.2.4

nvm is not compatible with the npm config "prefix" option: 
   currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.

I have my prefix set on purpose to avoid sudo npm (see https://docs.npmjs.com/getting-started/fixing-npm-permissions).

Is there any way I can use nvm without losing my prefix for globally installed packages?


Solution

  • Delete and Reset the prefix

    $ npm config delete prefix 
    $ npm config set prefix $NVM_DIR/versions/node/v6.11.1
    

    Note: Change the version number with the one indicated in the error message.

    nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local" Run "npm config delete prefix" or "nvm use --delete-prefix v6.11.1 --silent" to unset it.


    Credits to @gabfiocchi on Github - "You need to overwrite nvm prefix"