nvm uninstall... doesn't

Created on 25 Oct 2017  Â·  9Comments  Â·  Source: nvm-sh/nvm

  • Operating system and version:

Ubuntu 14.04.3 LTS

  • nvm debug output:

nvm --version: v0.31.0
$SHELL: /bin/bash
$HOME: /home/ubuntu
$NVM_DIR: '$HOME/.nvm'
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
nvm current: v6.11.5
which node: $NVM_DIR/versions/node/v6.11.5/bin/node
which iojs: 
which npm: $NVM_DIR/versions/node/v6.11.5/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v6.11.5
npm root -g: $NVM_DIR/versions/node/v6.11.5/lib/node_modules

  • nvm ls output:

        v6.10.0
->      v6.11.5
         system
default -> 6.11.5 (-> v6.11.5)
node -> stable (-> v6.11.5) (default)
stable -> 6.11 (-> v6.11.5) (default)
iojs -> N/A (default)

  • How did you install nvm? (e.g. install script in readme, homebrew):

Pre-installed on Cloud 9.

  • What steps did you perform?
$ nvm ls
        v6.10.0
->      v6.11.5
         system
default -> 6.11.5 (-> v6.11.5)
node -> stable (-> v6.11.5) (default)
stable -> 6.11 (-> v6.11.5) (default)
iojs -> N/A (default)
$ node -v
v6.11.5
$ nvm uninstall 6.10.0
Uninstalled node v6.10.0
$ nvm ls
        v6.10.0
->      v6.11.5
         system
default -> 6.11.5 (-> v6.11.5)
node -> stable (-> v6.11.5) (default)
stable -> 6.11 (-> v6.11.5) (default)
iojs -> N/A (default)
  • What happened?

As above.

  • What did you expect to happen?

I expected v6.10.0 to be uninstalled. It was reported as being deleted, but it wasn't.

  • Is there anything in any of your profile files (.bashrc, .bash_profile, .zshrc, etc) that modifies the PATH?

No.

bugs pull request wanted uninstalling

All 9 comments

It might be a permissions issue; if you cd $(nvm_version_path v6.10.0) && ls -lah, what does it print out?

@ljharb here you go (with a slight tweak to your command, to add a v to the version number):

$ cd $(nvm_version_path v6.10.0) && ls -lah                                               
total 12K
drwxr-xr-x 3 ubuntu ubuntu 4.0K Sep  1 16:22 ./
drwxr-xr-x 8 ubuntu ubuntu 4.0K Oct 25 12:27 ../
drwxr-xr-x 3 ubuntu ubuntu 4.0K Feb 22  2017 lib/

Compared to the current version:

$ cd $(nvm_version_path v6.11.5) && ls -lah                                                                   
total 172K
drwxr-xr-x 7 ubuntu ubuntu 4.0K Oct 25 12:26 ./
drwxr-xr-x 8 ubuntu ubuntu 4.0K Oct 25 12:27 ../
-rw-r--r-- 1 ubuntu ubuntu  55K Oct 24 18:44 CHANGELOG.md
-rw-r--r-- 1 ubuntu ubuntu  59K Oct 24 18:44 LICENSE
-rw-r--r-- 1 ubuntu ubuntu  26K Oct 24 18:44 README.md
drwxr-xr-x 2 ubuntu ubuntu 4.0K Oct 25 14:22 bin/
drwxr-xr-x 2 ubuntu ubuntu 4.0K Oct 25 12:26 etc/
drwxr-xr-x 3 ubuntu ubuntu 4.0K Oct 24 18:44 include/
drwxr-xr-x 3 ubuntu ubuntu 4.0K Oct 24 18:44 lib/
drwxr-xr-x 5 ubuntu ubuntu 4.0K Oct 24 18:44 share/

And I assume whoami is ubuntu?

@ljharb :

$ whoami
ubuntu

What does set -x; nvm uninstall 6.10.0 print out?

Here goes:

$ set -x; nvm uninstall 6.10.0
+ nvm uninstall 6.10.0
+ '[' 2 -lt 1 ']'
+ local GREP_OPTIONS
+ GREP_OPTIONS=
+ local VERSION
+ local ADDITIONAL_PARAMETERS
+ local ALIAS
+ case $1 in
+ '[' 2 -ne 2 ']'
+ local PATTERN
+ PATTERN=6.10.0
+ case "_$PATTERN" in
++ nvm_iojs_prefix
++ echo iojs
++ nvm_iojs_prefix
++ echo iojs
++ nvm_node_prefix
++ echo node
++ nvm_node_prefix
++ echo node
++ nvm_version 6.10.0
++ local PATTERN
++ PATTERN=6.10.0
++ local VERSION
++ '[' -z 6.10.0 ']'
++ '[' 6.10.0 = current ']'
++ local NVM_NODE_PREFIX
+++ nvm_node_prefix
+++ echo node
++ NVM_NODE_PREFIX=node
++ case "_$PATTERN" in
+++ nvm_ls 6.10.0
+++ command tail -n1
+++ local PATTERN
+++ PATTERN=6.10.0
+++ local VERSIONS
+++ VERSIONS=
+++ '[' 6.10.0 = current ']'
+++ tail -n1
+++ local NVM_IOJS_PREFIX
++++ nvm_iojs_prefix
++++ echo iojs
+++ NVM_IOJS_PREFIX=iojs
+++ local NVM_NODE_PREFIX
++++ nvm_node_prefix
++++ echo node
+++ NVM_NODE_PREFIX=node
+++ local NVM_VERSION_DIR_IOJS
++++ nvm_version_dir iojs
++++ local NVM_WHICH_DIR
++++ NVM_WHICH_DIR=iojs
++++ '[' -z iojs ']'
++++ '[' _iojs = _new ']'
++++ '[' _iojs = _iojs ']'
++++ echo /home/ubuntu/.nvm/versions/io.js
+++ NVM_VERSION_DIR_IOJS=/home/ubuntu/.nvm/versions/io.js
+++ local NVM_VERSION_DIR_NEW
++++ nvm_version_dir new
++++ local NVM_WHICH_DIR
++++ NVM_WHICH_DIR=new
++++ '[' -z new ']'
++++ '[' _new = _new ']'
++++ echo /home/ubuntu/.nvm/versions/node
+++ NVM_VERSION_DIR_NEW=/home/ubuntu/.nvm/versions/node
+++ local NVM_VERSION_DIR_OLD
++++ nvm_version_dir old
++++ local NVM_WHICH_DIR
++++ NVM_WHICH_DIR=old
++++ '[' -z old ']'
++++ '[' _old = _new ']'
++++ '[' _old = _iojs ']'
++++ '[' _old = _old ']'
++++ echo /home/ubuntu/.nvm
+++ NVM_VERSION_DIR_OLD=/home/ubuntu/.nvm
+++ case "$PATTERN" in
+++ nvm_resolve_local_alias 6.10.0
+++ '[' -z 6.10.0 ']'
+++ local VERSION
+++ local EXIT_CODE
++++ nvm_resolve_alias 6.10.0
++++ '[' -z 6.10.0 ']'
++++ local PATTERN
++++ PATTERN=6.10.0
++++ local ALIAS
++++ ALIAS=6.10.0
++++ local ALIAS_TEMP
++++ local SEEN_ALIASES
++++ SEEN_ALIASES=6.10.0
++++ true
+++++ nvm_alias 6.10.0
++++ ALIAS_TEMP=
++++ '[' -z '' ']'
++++ break
++++ '[' -n 6.10.0 ']'
++++ '[' _6.10.0 '!=' _6.10.0 ']'
++++ nvm_validate_implicit_alias 6.10.0
++++ return 2
+++ VERSION=
+++ EXIT_CODE=2
+++ '[' -z '' ']'
+++ return 2
++++ nvm_ensure_version_prefix 6.10.0
++++ local NVM_VERSION
+++++ nvm_strip_iojs_prefix 6.10.0
+++++ local NVM_IOJS_PREFIX
+++++ command sed -e 's/^\([0-9]\)/v\1/g'
+++++ sed -e 's/^\([0-9]\)/v\1/g'
++++++ nvm_iojs_prefix
++++++ echo iojs
+++++ NVM_IOJS_PREFIX=iojs
+++++ '[' _6.10.0 = _iojs ']'
+++++ echo 6.10.0
++++ NVM_VERSION=v6.10.0
++++ nvm_is_iojs_version 6.10.0
++++ case "$1" in
++++ return 1
++++ echo v6.10.0
+++ PATTERN=v6.10.0
+++ '[' _v6.10.0 = _N/A ']'
+++ local NVM_PATTERN_STARTS_WITH_V
+++ case $PATTERN in
+++ NVM_PATTERN_STARTS_WITH_V=true
+++ '[' true = true ']'
++++ nvm_num_version_groups v6.10.0
++++ local VERSION
++++ VERSION=v6.10.0
++++ VERSION=6.10.0
++++ VERSION=6.10.0
++++ '[' -z 6.10.0 ']'
++++ local NVM_NUM_DOTS
+++++ echo 6.10.0
+++++ command sed -e 's/[^\.]//g'
+++++ sed -e 's/[^\.]//g'
++++ NVM_NUM_DOTS=..
++++ local NVM_NUM_GROUPS
++++ NVM_NUM_GROUPS=...
++++ echo 3
+++ '[' _3 = _3 ']'
++++ nvm_version_path v6.10.0
++++ local VERSION
++++ VERSION=v6.10.0
++++ '[' -z v6.10.0 ']'
++++ nvm_is_iojs_version v6.10.0
++++ case "$1" in
++++ return 1
++++ nvm_version_greater 0.12.0 v6.10.0
++++ local LHS
+++++ nvm_normalize_version 0.12.0
+++++ echo 0.12.0
+++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++ LHS=0000012000000
++++ local RHS
+++++ nvm_normalize_version v6.10.0
+++++ echo 6.10.0
+++++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++++ RHS=6000010000000
++++ '[' 0000012000000 -gt 6000010000000 ']'
+++++ nvm_version_dir new
+++++ local NVM_WHICH_DIR
+++++ NVM_WHICH_DIR=new
+++++ '[' -z new ']'
+++++ '[' _new = _new ']'
+++++ echo /home/ubuntu/.nvm/versions/node
++++ echo /home/ubuntu/.nvm/versions/node/v6.10.0
+++ '[' -d /home/ubuntu/.nvm/versions/node/v6.10.0 ']'
+++ VERSIONS=v6.10.0
+++ '[' '' = true ']'
+++ '[' -z v6.10.0 ']'
+++ echo v6.10.0
++ VERSION=v6.10.0
++ '[' -z v6.10.0 ']'
++ '[' _v6.10.0 = _N/A ']'
++ echo v6.10.0
+ VERSION=v6.10.0
++ nvm_ls_current
++ local NVM_LS_CURRENT_NODE_PATH
+++ command which node
++ NVM_LS_CURRENT_NODE_PATH=/home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ '[' 0 -ne 0 ']'
+++ nvm_version_dir iojs
+++ local NVM_WHICH_DIR
+++ NVM_WHICH_DIR=iojs
+++ '[' -z iojs ']'
+++ '[' _iojs = _new ']'
+++ '[' _iojs = _iojs ']'
+++ echo /home/ubuntu/.nvm/versions/io.js
++ nvm_tree_contains_path /home/ubuntu/.nvm/versions/io.js /home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ local tree
++ tree=/home/ubuntu/.nvm/versions/io.js
++ local node_path
++ node_path=/home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ '[' @/home/ubuntu/.nvm/versions/io.js@ = @@ ']'
++ '[' @/home/ubuntu/.nvm/versions/node/v6.11.5/bin/node@ = @@ ']'
++ local pathdir
+++ dirname /home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ pathdir=/home/ubuntu/.nvm/versions/node/v6.11.5/bin
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home/ubuntu/.nvm/versions/node/v6.11.5/bin
++ pathdir=/home/ubuntu/.nvm/versions/node/v6.11.5
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home/ubuntu/.nvm/versions/node/v6.11.5
++ pathdir=/home/ubuntu/.nvm/versions/node
++ '[' /home/ubuntu/.nvm/versions/node '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions/node '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions/node '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions/node '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home/ubuntu/.nvm/versions/node
++ pathdir=/home/ubuntu/.nvm/versions
++ '[' /home/ubuntu/.nvm/versions '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home/ubuntu/.nvm/versions
++ pathdir=/home/ubuntu/.nvm
++ '[' /home/ubuntu/.nvm '!=' '' ']'
++ '[' /home/ubuntu/.nvm '!=' . ']'
++ '[' /home/ubuntu/.nvm '!=' / ']'
++ '[' /home/ubuntu/.nvm '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home/ubuntu/.nvm
++ pathdir=/home/ubuntu
++ '[' /home/ubuntu '!=' '' ']'
++ '[' /home/ubuntu '!=' . ']'
++ '[' /home/ubuntu '!=' / ']'
++ '[' /home/ubuntu '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home/ubuntu
++ pathdir=/home
++ '[' /home '!=' '' ']'
++ '[' /home '!=' . ']'
++ '[' /home '!=' / ']'
++ '[' /home '!=' /home/ubuntu/.nvm/versions/io.js ']'
+++ dirname /home
++ pathdir=/
++ '[' / '!=' '' ']'
++ '[' / '!=' . ']'
++ '[' / '!=' / ']'
++ '[' / = /home/ubuntu/.nvm/versions/io.js ']'
++ nvm_tree_contains_path /home/ubuntu/.nvm /home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ local tree
++ tree=/home/ubuntu/.nvm
++ local node_path
++ node_path=/home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ '[' @/home/ubuntu/.nvm@ = @@ ']'
++ '[' @/home/ubuntu/.nvm/versions/node/v6.11.5/bin/node@ = @@ ']'
++ local pathdir
+++ dirname /home/ubuntu/.nvm/versions/node/v6.11.5/bin/node
++ pathdir=/home/ubuntu/.nvm/versions/node/v6.11.5/bin
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5/bin '!=' /home/ubuntu/.nvm ']'
+++ dirname /home/ubuntu/.nvm/versions/node/v6.11.5/bin
++ pathdir=/home/ubuntu/.nvm/versions/node/v6.11.5
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions/node/v6.11.5 '!=' /home/ubuntu/.nvm ']'
+++ dirname /home/ubuntu/.nvm/versions/node/v6.11.5
++ pathdir=/home/ubuntu/.nvm/versions/node
++ '[' /home/ubuntu/.nvm/versions/node '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions/node '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions/node '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions/node '!=' /home/ubuntu/.nvm ']'
+++ dirname /home/ubuntu/.nvm/versions/node
++ pathdir=/home/ubuntu/.nvm/versions
++ '[' /home/ubuntu/.nvm/versions '!=' '' ']'
++ '[' /home/ubuntu/.nvm/versions '!=' . ']'
++ '[' /home/ubuntu/.nvm/versions '!=' / ']'
++ '[' /home/ubuntu/.nvm/versions '!=' /home/ubuntu/.nvm ']'
+++ dirname /home/ubuntu/.nvm/versions
++ pathdir=/home/ubuntu/.nvm
++ '[' /home/ubuntu/.nvm '!=' '' ']'
++ '[' /home/ubuntu/.nvm '!=' . ']'
++ '[' /home/ubuntu/.nvm '!=' / ']'
++ '[' /home/ubuntu/.nvm '!=' /home/ubuntu/.nvm ']'
++ '[' /home/ubuntu/.nvm = /home/ubuntu/.nvm ']'
++ local VERSION
+++ node --version
++ VERSION=v6.11.5
++ '[' v6.11.5 = v0.6.21-pre ']'
++ echo v6.11.5
+ '[' _v6.10.0 = _v6.11.5 ']'
+ local VERSION_PATH
++ nvm_version_path v6.10.0
++ local VERSION
++ VERSION=v6.10.0
++ '[' -z v6.10.0 ']'
++ nvm_is_iojs_version v6.10.0
++ case "$1" in
++ return 1
++ nvm_version_greater 0.12.0 v6.10.0
++ local LHS
+++ nvm_normalize_version 0.12.0
+++ echo 0.12.0
+++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++ LHS=0000012000000
++ local RHS
+++ nvm_normalize_version v6.10.0
+++ echo 6.10.0
+++ command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
+++ awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
++ RHS=6000010000000
++ '[' 0000012000000 -gt 6000010000000 ']'
+++ nvm_version_dir new
+++ local NVM_WHICH_DIR
+++ NVM_WHICH_DIR=new
+++ '[' -z new ']'
+++ '[' _new = _new ']'
+++ echo /home/ubuntu/.nvm/versions/node
++ echo /home/ubuntu/.nvm/versions/node/v6.10.0
+ VERSION_PATH=/home/ubuntu/.nvm/versions/node/v6.10.0
+ '[' '!' -d /home/ubuntu/.nvm/versions/node/v6.10.0 ']'
++ nvm_get_os
++ local NVM_UNAME
+++ uname -a
++ NVM_UNAME='Linux drmrbrewer-meteogram-3910306 4.9.17-c9 #1 SMP Thu Mar 23 01:38:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux'
++ local NVM_OS
++ case "$NVM_UNAME" in
++ NVM_OS=linux
++ echo linux
++ nvm_get_arch
++ local HOST_ARCH
++ local NVM_OS
++ local EXIT_CODE
+++ nvm_get_os
+++ local NVM_UNAME
++++ uname -a
+++ NVM_UNAME='Linux drmrbrewer-meteogram-3910306 4.9.17-c9 #1 SMP Thu Mar 23 01:38:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux'
+++ local NVM_OS
+++ case "$NVM_UNAME" in
+++ NVM_OS=linux
+++ echo linux
++ NVM_OS=linux
++ '[' _linux = _sunos ']'
+++ uname -m
++ HOST_ARCH=x86_64
++ local NVM_ARCH
++ case "$HOST_ARCH" in
++ NVM_ARCH=x64
++ echo x64
+ t=v6.10.0-linux-x64
+ local NVM_PREFIX
+ local NVM_SUCCESS_MSG
+ nvm_is_iojs_version v6.10.0
+ case "$1" in
+ return 1
++ nvm_node_prefix
++ echo node
+ NVM_PREFIX=node
+ NVM_SUCCESS_MSG='Uninstalled node v6.10.0'
+ command rm -rf /home/ubuntu/.nvm/src/node-v6.10.0 '/home/ubuntu/.nvm/src/node-v6.10.0.tar.*' /home/ubuntu/.nvm/bin/node-v6.10.0-linux-x64 '/home/ubuntu/.nvm/bin/node-v6.10.0-linux-x64.tar.*' /home/ubuntu/.nvm/versions/node/v6.10.0
+ echo 'Uninstalled node v6.10.0'
Uninstalled node v6.10.0
+++ nvm_alias_path
++++ nvm_version_dir old
++++ local NVM_WHICH_DIR
++++ NVM_WHICH_DIR=old
++++ '[' -z old ']'
++++ '[' _old = _new ']'
++++ '[' _old = _iojs ']'
++++ '[' _old = _old ']'
++++ echo /home/ubuntu/.nvm
+++ echo /home/ubuntu/.nvm/alias
++ command grep -l v6.10.0 '/home/ubuntu/.nvm/alias/*'
++ __git_ps1 ' (%s)'
++ local exit=0
++ local pcmode=no
++ local detached=no
++ local 'ps1pc_start=\u@\h:\w '
++ local 'ps1pc_end=\$ '
++ local 'printf_format= (%s)'
++ case "$#" in
++ printf_format=' (%s)'
++ local ps1_expanded=yes
++ '[' -z '' ']'
++ '[' -z '4.3.11(1)-release' ']'
++ shopt -q promptvars
++ local repo_info rev_parse_exit_code
+++ git rev-parse --git-dir --is-inside-git-dir --is-bare-repository --is-inside-work-tree --short HEAD
++ repo_info='.git
false
false
true
ebe286e'
++ rev_parse_exit_code=0
++ '[' -z '.git
false
false
true
ebe286e' ']'
++ local short_sha=
++ '[' 0 = 0 ']'
++ short_sha=ebe286e
++ repo_info='.git
false
false
true'
++ local inside_worktree=true
++ repo_info='.git
false
false'
++ local bare_repo=false
++ repo_info='.git
false'
++ local inside_gitdir=false
++ local g=.git
++ '[' true = true ']'
++ '[' -n '' ']'
++ local r=
++ local b=
++ local step=
++ local total=
++ '[' -d .git/rebase-merge ']'
++ '[' -d .git/rebase-apply ']'
++ '[' -f .git/MERGE_HEAD ']'
++ '[' -f .git/CHERRY_PICK_HEAD ']'
++ '[' -f .git/REVERT_HEAD ']'
++ '[' -f .git/BISECT_LOG ']'
++ '[' -n '' ']'
++ '[' -h .git/HEAD ']'
++ local head=
++ __git_eread .git/HEAD head
++ local f=.git/HEAD
++ shift
++ test -r .git/HEAD
++ read head
++ b=refs/heads/master
++ '[' 'ref: refs/heads/master' = refs/heads/master ']'
++ '[' -n '' ']'
++ local w=
++ local i=
++ local s=
++ local u=
++ local c=
++ local p=
++ '[' true = false ']'
++ '[' true = true ']'
++ '[' -n '' ']'
++ '[' -n '' ']'
++ '[' -n '' ']'
++ '[' -n '' ']'
++ local 'z= '
++ '[' no = yes ']'
++ b=master
++ '[' no = yes ']'
++ local f=
++ local gitstring=master
++ '[' no = yes ']'
++ printf -- ' (%s)' master
++ return 0

The command in there that should have done it is command rm -rf /home/ubuntu/.nvm/src/node-v6.10.0 '/home/ubuntu/.nvm/src/node-v6.10.0.tar.*' /home/ubuntu/.nvm/bin/node-v6.10.0-linux-x64 '/home/ubuntu/.nvm/bin/node-v6.10.0-linux-x64.tar.*' /home/ubuntu/.nvm/versions/node/v6.10.0.

Is there anything about your HOME dir or NVM_DIR that makes them different? symlinks, hard mounts, things like that?

$ rm -rf /home/ubuntu/.nvm/versions/node/v6.10.0
rm: cannot remove ‘/home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/node_modules/commander’: Permission denied
rm: cannot remove ‘/home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/node_modules/fs-extra’: Permission denied
rm: cannot remove ‘/home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/node_modules/universalify’: Permission denied
rm: cannot remove ‘/home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/node_modules/jsonfile’: Permission denied
rm: cannot remove ‘/home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/node_modules/graceful-fs’: Permission denied

$ cd /home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/node_modules/ && ls -lah      
total 28K
drwxr-xr-x 7 root   root   4.0K Jul 17 10:17 ./
drwxr-xr-x 3 ubuntu ubuntu 4.0K Sep  1 16:22 ../
drwxr-xr-x 2 ubuntu ubuntu 4.0K Sep  1 16:22 commander/
drwxr-xr-x 2 ubuntu ubuntu 4.0K Sep  1 16:22 fs-extra/
drwxr-xr-x 2 ubuntu ubuntu 4.0K Sep  1 16:22 graceful-fs/
drwxr-xr-x 2 ubuntu ubuntu 4.0K Sep  1 16:22 jsonfile/
drwxr-xr-x 2 ubuntu ubuntu 4.0K Sep  1 16:22 universalify/

$ cd /home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/weacast-grib2json/ && ls -lah
total 12K
drwxr-xr-x 3 ubuntu ubuntu 4.0K Sep  1 16:22 ./
drwxr-xr-x 3 ubuntu ubuntu 4.0K Sep  1 16:22 ../
drwxr-xr-x 7 root   root   4.0K Jul 17 10:17 node_modules/

$ cd /home/ubuntu/.nvm/versions/node/v6.10.0/lib/node_modules/ && ls -lah
total 12K
drwxr-xr-x 3 ubuntu ubuntu 4.0K Sep  1 16:22 ./
drwxr-xr-x 3 ubuntu ubuntu 4.0K Feb 22  2017 ../
drwxr-xr-x 3 ubuntu ubuntu 4.0K Sep  1 16:22 weacast-grib2json/

I guess it's the root on node_modules/weacast-grib2json/node_modules that is the problem. How would that have got there? Maybe I had to sudo install the weacast-grib2json to get it to install?

I can sudo rm -fr to sort this but is there any way for nvm to deal with this situation otherwise? At least it should report e.g. Error uninstalling node v6.10.0 rather than Uninstalled node v6.10.0?

If you used sudo with npm install -g - which you should never have to do with nvm - then yeah, that's the issue.

nvm uninstall is supposed to ensure you have the permission to remove everything before it starts trying to remove things - this is definitely a bug.

Either way, your fix would be to use sudo to either rm or chmod the problematic directory. If you're willing, however, you could leave it as-is for now, until I've got a fix - and then you could test out the fix for me :-)

Was this page helpful?
0 / 5 - 0 ratings