.npmrc prefix override nvm
SeeThruHead opened this issue · comments
symptoms, npm install -g npm installs npm to the wrong directory
overridden by .npmrc
removing "prefix=~/.node" from npmrc fixes the issue
osx ver: osx 10.10.1
zsh ver: zsh 5.0.5 (x86_64-apple-darwin14.0)
I don't believe this is an
nvm specific issue.
I asked @SeeThruHead to file this - the problem as I see it is that
nvm (correctly) doesn't respect
prefix option, but
npm itself will.
I'm not sure how to handle this, but at the least,
nvm could print out a warning.
Noting from #427 that the env var
$NPM_CONFIG_PREFIX also causes problems with
Maybe detect the nvm config setting upon installation and issue a stern warning?
I'm considering making
nvm refuse any operation whatsoever when problematic settings are set.
sure, just do a
npm config get prefix and if it doesn't contain
/.nvm/ then bail out.
Ugh. Until this is patched, you might want to put a note in the README … I have no idea where my
~/.npmrc came from, but I've been complaining about being unable to update
npm for ages. (At least now I know why.)
Good idea - I'll get to one or the other hopefully in the next few weeks, but a README PR is welcome in the meantime.
I'm leaving it open until
nvm itself refuses to do anything when a prefix is set.
nvm use will refuse to work if
npm config get prefix is set, and will provide instructions about how to fix it.
Reopening, however, because I forgot about
Would be nice if this prefix thing could be omitted somehow through
.nvmrc (just thinking).
@leomoreno in what way? The whole concept of PREFIX is incompatible with nvm.
If the suggested fix is to
nvm use --delete-prefix vx.x.x, what if
--delete-prefix is configurable?
I added that line to my
.bash_profile so I end up with the node version I need to use.
May be I'm misunderstanding and should not
nvm use --delete-prefix vx.x.x?
I was just thinking in something that let you
.nvmrc level, some kind of flag or similar.
--delete-prefix should be a command that's only needed once, and manually, after that your machine ideally never has a prefix to delete again :-)
@ljharb for some reason it's necessary all the times here.
I'll double check the discussion above to see what's the issue.
Thanks for the fast answer!