From 3cc9525dceacb1d7376df85aa14167bc0cacc5e1 Mon Sep 17 00:00:00 2001 From: Will Papper Date: Wed, 24 Apr 2019 00:03:01 -0700 Subject: [PATCH] [Docs] [Fix] Set $NVM_DIR to ".nvm" instead of "nvm" - Operating system and version: Mac OS X Mojave - What happened? $NVM_DIR was set to nvm - What did you expect to happen? $NVM_DIR should be set to .nvm I added the following line from the README to my .zshrc: ``` export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm ``` I couldn't figure out why nvm wasn't loading, until I realized that `echo NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"` outputs `NVM_DIR=nvm`. Changing the line to `export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/}.nvm"` fixed the problem. This outputs `NVM_DIR=.nvm` as expected. I tested this and the same behavior holds true in Bash as well. --- README.md | 2 +- install.sh | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9eb8c50..bcb42c3 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash **Note:** If the environment variable `$XDG_CONFIG_HOME` is present, it will place the `nvm` files there. ```sh -export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm" +export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm ``` diff --git a/install.sh b/install.sh index 67349ad..be611b3 100755 --- a/install.sh +++ b/install.sh @@ -7,11 +7,7 @@ nvm_has() { } nvm_default_install_dir() { - if [ -n "${XDG_CONFIG_HOME-}" ]; then - printf %s "${XDG_CONFIG_HOME}/nvm" - else - printf %s "${HOME}/.nvm" - fi + [ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm" } nvm_install_dir() {