Thursday, 1 June 2017

Can't set Node version for a project

I've installed NVM via Homebrew and I'm using oh-my-zsh.

For every project that uses Node or NPM I see that error when I access the directory:

Error: Failed to replace env in config: ${NPM_TOKEN}
    at /Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/config/core.js:429:13
    at String.replace (native)
    at envReplace (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/config/core.js:424:12)
    at parseField (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/config/core.js:400:7)
    at /Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/config/core.js:338:17
    at Array.forEach (native)
    at Conf.add (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/config/core.js:337:23)
    at ConfigChain.addString (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/node_modules/config-chain/index.js:244:8)
    at Conf.<anonymous> (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/config/core.js:325:10)
    at /Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16

/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/npm.js:29
    throw new Error('npm.load() required')
    ^

Error: npm.load() required
    at Object.npm.config.get (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/npm.js:29:11)
    at exit (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/utils/error-handler.js:58:40)
    at process.errorHandler (/Users/myuser/.nvm/versions/node/v4.6.2/lib/node_modules/npm/lib/utils/error-handler.js:387:3)
    at emitOne (events.js:77:13)
    at process.emit (events.js:169:7)
    at process._fatalException (node.js:224:26)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v4.6.2 --silent` to unset it.

I also see this error when the directory is accessed or set node version (nvm use, nvm alias default 4.3.2, etc.):

nvm is not compatible with the "PREFIX" environment variable: currently set to "---"
Run `unset PREFIX` to unset it.

And node -v outputs zsh: command not found: node every time.

nvm debug within the project dir outputs:

nvm --version: v0.33.2
$SHELL: /bin/zsh
$HOME: /Users/myuser
$NVM_DIR: '$HOME/.nvm'
$PREFIX: '---'
$NPM_CONFIG_PREFIX: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.0.5 (x86_64-apple-darwin14.0)'
uname -a: 'Darwin 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64'
OS version: Mac 10.10.5 14F27
curl: /usr/bin/curl, curl 7.43.0 (x86_64-apple-darwin14.0) libcurl/7.43.0 SecureTransport zlib/1.2.5
wget: not found
git: /usr/bin/git, git version 2.3.2 (Apple Git-55)
nvm current: none
which node: node not found
which iojs: iojs not found
which npm: npm not found
npm config get prefix: nvm:143: command not found: npm
npm root -g: nvm:143: command not found: npm


Additionally, here's the Node versions I installed globally:

--- ~ » nvm ls
         v4.3.2
->       v4.6.2
default -> 4.3.2 (-> v4.3.2)
node -> stable (-> v4.6.2) (default)
stable -> 4.6 (-> v4.6.2) (default)
...

nvm debug outputs:

--- ~ » nvm debug                                                                                                                                                                1 ↵
nvm --version: v0.33.2
$SHELL: /bin/zsh
$HOME: /Users/myuser
$NVM_DIR: '$HOME/.nvm'
$PREFIX: '---'
$NPM_CONFIG_PREFIX: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.0.5 (x86_64-apple-darwin14.0)'
uname -a: 'Darwin 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64'
OS version: Mac 10.10.5 14F27
curl: /usr/bin/curl, curl 7.43.0 (x86_64-apple-darwin14.0) libcurl/7.43.0 SecureTransport zlib/1.2.5
wget: not found
git: /usr/bin/git, git version 2.3.2 (Apple Git-55)
nvm current: v4.6.2
which node: $NVM_DIR/versions/node/v4.6.2/bin/node
which iojs: iojs not found
which npm: $NVM_DIR/versions/node/v4.6.2/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v4.6.2
npm root -g: $NVM_DIR/versions/node/v4.6.2/lib/node_modules



via abpetkov

No comments:

Post a Comment