Menu
  • HOME
  • TAGS

“which nvm” command (nvm installed via homebrew) doesn't return path

Tag: terminal,homebrew,nvm

I have installed nvm via homebrew. I have followed through the caveats:

mkdir ~/.nvm 
cp $(brew --prefix nvm)/nvm-exec ~/.nvm/

AddED to my .zshrc file:

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

I have restarted my shell and when I type "which nvm" I get the file output instead of a file path locating the nvm version. I removed the package, reinstalled. All other "which" commands work.

Any insight is greatly appreciated.

File output after typing "which nvm":

nvm () {
    if [ $# -lt 1 ]
    then
        nvm help
        return
    fi
    local GREP_OPTIONS
    GREP_OPTIONS=''
    local VERSION
    local ADDITIONAL_PARAMETERS
    local ALIAS
    case $1 in
        ("help") echo
            echo "Node Version Manager"
            echo
            echo "Usage:"
            echo "  nvm help                              Show this message"
            echo "  nvm --version                         Print out the latest released version of nvm"
            echo "  nvm install [-s] <version>            Download and install a <version>, [-s] from source. Uses .nvmrc if available"
            echo "  nvm uninstall <version>               Uninstall a version"
            echo "  nvm use <version>                     Modify PATH to use <version>. Uses .nvmrc if available"
            echo "  nvm run <version> [<args>]            Run <version> with <args> as arguments. Uses .nvmrc if available for <version>"
            echo "  nvm current                           Display currently activated version"
            echo "  nvm ls                                List installed versions"
            echo "  nvm ls <version>                      List versions matching a given description"
            echo "  nvm ls-remote                         List remote versions available for install"
            echo "  nvm deactivate                        Undo effects of \`nvm\` on current shell"
            echo "  nvm alias [<pattern>]                 Show all aliases beginning with <pattern>"
            echo "  nvm alias <name> <version>            Set an alias named <name> pointing to <version>"
            echo "  nvm unalias <name>                    Deletes the alias named <name>"
            echo "  nvm reinstall-packages <version>      Reinstall global \`npm\` packages contained in <version> to current version"
            echo "  nvm unload                            Unload \`nvm\` from shell"
            echo "  nvm which [<version>]                 Display path to installed node version. Uses .nvmrc if available"
            echo
            echo "Example:"
            echo "  nvm install v0.10.32                  Install a specific version number"
            echo "  nvm use 0.10                          Use the latest available 0.10.x release"
            echo "  nvm run 0.10.32 app.js                Run app.js using node v0.10.32"
            echo "  nvm exec 0.10.32 node app.js          Run \`node app.js\` with the PATH pointing to node v0.10.32"
            echo "  nvm alias default 0.10.32             Set default node version on a shell"
            echo
            echo "Note:"
            echo "  to remove, delete, or uninstall nvm - just remove ~/.nvm, ~/.npm, and ~/.bower folders"
            echo ;;
        ("install"|"i") local nobinary
            local version_not_provided
            version_not_provided=0
            local provided_version
            local NVM_OS
            NVM_OS="$(nvm_get_os)"
            if ! nvm_has "curl" && ! nvm_has "wget"
            then
                echo 'nvm needs curl or wget to proceed.' >&2
                return 1
            fi
            if [ $# -lt 2 ]
            then
                version_not_provided=1
                nvm_rc_version
                if [ -z "$NVM_RC_VERSION" ]
                then
                    nvm help >&2
                    return 127
                fi
            fi
            shift
            nobinary=0
            if [ "_$1" = "_-s" ]
            then
                nobinary=1
                shift
            fi
            provided_version="$1"
            if [ -z "$provided_version" ]
            then
                if [ $version_not_provided -ne 1 ]
                then
                    nvm_rc_version
                fi
                provided_version="$NVM_RC_VERSION"
            else
                shift
            fi
            VERSION="$(nvm_remote_version "$provided_version")"
            if [ "_$VERSION" = "_N/A" ]
            then
                echo "Version '$provided_version' not found - try \`nvm ls-remote\` to browse available versions." >&2
                return 3
            fi
            ADDITIONAL_PARAMETERS=''
            local PROVIDED_REINSTALL_PACKAGES_FROM
            local REINSTALL_PACKAGES_FROM
            while [ $# -ne 0 ]
            do
                case "$1" in
                    (--reinstall-packages-from=*) PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 27-)"
                        REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"  ;;
                    (--copy-packages-from=*) PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 22-)"
                        REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"  ;;
                    (*) ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"  ;;
                esac
                shift
            done
            if [ "_$(nvm_ensure_version_prefix "$PROVIDED_REINSTALL_PACKAGES_FROM")" = "_$VERSION" ]
            then
                echo "You can't reinstall global packages from the same version of node you're installing." >&2
                return 4
            elif [ ! -z "$PROVIDED_REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" = "_N/A" ]
            then
                echo "If --reinstall-packages-from is provided, it must point to an installed version of node." >&2
                return 5
            fi
            local NVM_IOJS
            if nvm_is_iojs_version "$VERSION"
            then
                NVM_IOJS=true
            fi
            local VERSION_PATH
            VERSION_PATH="$(nvm_version_path "$VERSION")"
            if [ -d "$VERSION_PATH" ]
            then
                echo "$VERSION is already installed." >&2
                if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]
                then
                    nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
                fi
                return $?
            fi
            if [ "_$NVM_OS" = "_freebsd" ]
            then
                nobinary=1
            elif [ "_$NVM_OS" = "_sunos" ] && [ "$NVM_IOJS" = true ]
            then
                nobinary=1
            fi
            local NVM_INSTALL_SUCCESS
            if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"
            then
                if [ "$NVM_IOJS" = true ] && nvm_install_iojs_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"
                then
                    NVM_INSTALL_SUCCESS=true
                elif [ "$NVM_IOJS" != true ] && nvm_install_node_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"
                then
                    NVM_INSTALL_SUCCESS=true
                fi
            fi
            if [ "$NVM_INSTALL_SUCCESS" != true ]
            then
                if [ "$NVM_IOJS" = true ]
                then
                    echo "Installing iojs from source is not currently supported" >&2
                    return 105
                elif nvm_install_node_source "$VERSION" "$ADDITIONAL_PARAMETERS"
                then
                    NVM_INSTALL_SUCCESS=true
                fi
            fi
            if [ "$NVM_INSTALL_SUCCESS" = true ] && nvm use "$VERSION"
            then
                if [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]
                then
                    nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
                fi
            fi
            return $? ;;
        ("uninstall") if [ $# -ne 2 ]
            then
                nvm help >&2
                return 127
            fi
            local PATTERN
            PATTERN="$2"
            case "_$PATTERN" in
                ("_$(nvm_iojs_prefix)"|"_$(nvm_iojs_prefix)-"|"_$(nvm_node_prefix)"|"_$(nvm_node_prefix)-") VERSION="$(nvm_version "$PATTERN")"  ;;
                (*) VERSION="$(nvm_version "$PATTERN")"  ;;
            esac
            if [ "_$VERSION" = "_$(nvm_ls_current)" ]
            then
                if nvm_is_iojs_version "$VERSION"
                then
                    echo "nvm: Cannot uninstall currently-active io.js version, $VERSION (inferred from $PATTERN)." >&2
                else
                    echo "nvm: Cannot uninstall currently-active node version, $VERSION (inferred from $PATTERN)." >&2
                fi
                return 1
            fi
            local VERSION_PATH
            VERSION_PATH="$(nvm_version_path "$VERSION")"
            if [ ! -d "$VERSION_PATH" ]
            then
                echo "$VERSION version is not installed..." >&2
                return
            fi
            t="$VERSION-$(nvm_get_os)-$(nvm_get_arch)"
            local NVM_PREFIX
            local NVM_SUCCESS_MSG
            if nvm_is_iojs_version "$VERSION"
            then
                NVM_PREFIX="$(nvm_iojs_prefix)"
                NVM_SUCCESS_MSG="Uninstalled io.js $(nvm_strip_iojs_prefix $VERSION)"
            else
                NVM_PREFIX="$(nvm_node_prefix)"
                NVM_SUCCESS_MSG="Uninstalled node $VERSION"
            fi
            command rm -rf "$NVM_DIR/src/$NVM_PREFIX-$VERSION" "$NVM_DIR/src/$NVM_PREFIX-$VERSION.tar.gz" "$NVM_DIR/bin/$NVM_PREFIX-${t}" "$NVM_DIR/bin/$NVM_PREFIX-${t}.tar.gz" "$VERSION_PATH" 2> /dev/null
            echo "$NVM_SUCCESS_MSG"
            for ALIAS in `command grep -l $VERSION "$(nvm_alias_path)/*" 2>/dev/null`
            do
                nvm unalias "$(command basename "$ALIAS")"
            done ;;
        ("deactivate") local NEWPATH
            NEWPATH="$(nvm_strip_path "$PATH" "/bin")"
            if [ "_$PATH" = "_$NEWPATH" ]
            then
                echo "Could not find $NVM_DIR/*/bin in \$PATH" >&2
            else
                export PATH="$NEWPATH"
                hash -r
                echo "$NVM_DIR/*/bin removed from \$PATH"
            fi
            NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
            if [ "_$MANPATH" = "_$NEWPATH" ]
            then
                echo "Could not find $NVM_DIR/*/share/man in \$MANPATH" >&2
            else
                export MANPATH="$NEWPATH"
                echo "$NVM_DIR/*/share/man removed from \$MANPATH"
            fi
            NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")"
            if [ "_$NODE_PATH" != "_$NEWPATH" ]
            then
                export NODE_PATH="$NEWPATH"
                echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
            fi ;;
        ("use") local PROVIDED_VERSION
            if [ $# -eq 1 ]
            then
                nvm_rc_version
                if [ -n "$NVM_RC_VERSION" ]
                then
                    PROVIDED_VERSION="$NVM_RC_VERSION"
                    VERSION="$(nvm_version "$PROVIDED_VERSION")"
                fi
            else
                local NVM_IOJS_PREFIX
                NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
                local NVM_NODE_PREFIX
                NVM_NODE_PREFIX="$(nvm_node_prefix)"
                PROVIDED_VERSION="$2"
                case "_$PROVIDED_VERSION" in
                    ("_$NVM_IOJS_PREFIX"|"_io.js") VERSION="$(nvm_version $NVM_IOJS_PREFIX)"  ;;
                    ("_system") VERSION="system"  ;;
                    (*) VERSION="$(nvm_version "$PROVIDED_VERSION")"  ;;
                esac
            fi
            if [ -z "$VERSION" ]
            then
                nvm help >&2
                return 127
            fi
            if [ "_$VERSION" = '_system' ]
            then
                if nvm_has_system_node && nvm deactivate > /dev/null 2>&1
                then
                    echo "Now using system version of node: $(node -v 2>/dev/null)$(nvm_print_npm_version)"
                    return
                elif nvm_has_system_iojs && nvm deactivate > /dev/null 2>&1
                then
                    echo "Now using system version of io.js: $(iojs --version 2>/dev/null)$(nvm_print_npm_version)"
                    return
                else
                    echo "System version of node not found." >&2
                    return 127
                fi
            elif [ "_$VERSION" = "_∞" ]
            then
                echo "The alias \"$PROVIDED_VERSION\" leads to an infinite loop. Aborting." >&2
                return 8
            fi
            nvm_ensure_version_installed "$PROVIDED_VERSION"
            EXIT_CODE=$?
            if [ "$EXIT_CODE" != "0" ]
            then
                return $EXIT_CODE
            fi
            local NVM_VERSION_DIR
            NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
            PATH="$(nvm_strip_path "$PATH" "/bin")"
            PATH="$(nvm_prepend_path "$PATH" "$NVM_VERSION_DIR/bin")"
            if nvm_has manpath
            then
                if [ -z "$MANPATH" ]
                then
                    MANPATH=$(manpath)
                fi
                MANPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
                MANPATH="$(nvm_prepend_path "$MANPATH" "$NVM_VERSION_DIR/share/man")"
                export MANPATH
            fi
            export PATH
            hash -r
            export NVM_PATH="$NVM_VERSION_DIR/lib/node"
            export NVM_BIN="$NVM_VERSION_DIR/bin"
            if [ "$NVM_SYMLINK_CURRENT" = true ]
            then
                command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
            fi
            if nvm_is_iojs_version "$VERSION"
            then
                echo "Now using io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm_print_npm_version)"
            else
                echo "Now using node $VERSION$(nvm_print_npm_version)"
            fi ;;
        ("run") local provided_version
            local has_checked_nvmrc
            has_checked_nvmrc=0
            shift
            if [ $# -lt 1 ]
            then
                nvm_rc_version && has_checked_nvmrc=1
                if [ -n "$NVM_RC_VERSION" ]
                then
                    VERSION="$(nvm_version "$NVM_RC_VERSION")"
                else
                    VERSION='N/A'
                fi
                if [ $VERSION = "N/A" ]
                then
                    nvm help >&2
                    return 127
                fi
            fi
            provided_version=$1
            if [ -n "$provided_version" ]
            then
                VERSION="$(nvm_version "$provided_version")"
                if [ "_$VERSION" = "_N/A" ] && ! nvm_is_valid_version "$provided_version"
                then
                    provided_version=''
                    if [ $has_checked_nvmrc -ne 1 ]
                    then
                        nvm_rc_version && has_checked_nvmrc=1
                    fi
                    VERSION="$(nvm_version "$NVM_RC_VERSION")"
                else
                    shift
                fi
            fi
            local NVM_IOJS
            if nvm_is_iojs_version "$VERSION"
            then
                NVM_IOJS=true
            fi
            local ARGS
            ARGS="[email protected]"
            local OUTPUT
            local EXIT_CODE
            local ZHS_HAS_SHWORDSPLIT_UNSET
            ZHS_HAS_SHWORDSPLIT_UNSET=1
            if nvm_has "setopt"
            then
                ZHS_HAS_SHWORDSPLIT_UNSET=$(setopt | command grep shwordsplit > /dev/null ; echo $?)
                setopt shwordsplit
            fi
            if [ "_$VERSION" = "_N/A" ]
            then
                echo "$(nvm_ensure_version_prefix "$provided_version") is not installed yet" >&2
                EXIT_CODE=1
            elif [ -z "$ARGS" ]
            then
                if [ "$NVM_IOJS" = true ]
                then
                    nvm exec "$VERSION" iojs
                else
                    nvm exec "$VERSION" node
                fi
                EXIT_CODE="$?"
            elif [ "$NVM_IOJS" = true ]
            then
                echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")"
                OUTPUT="$(nvm use "$VERSION" >/dev/null && iojs $ARGS)"
                EXIT_CODE="$?"
            else
                echo "Running node $VERSION"
                OUTPUT="$(nvm use "$VERSION" >/dev/null && node $ARGS)"
                EXIT_CODE="$?"
            fi
            if [ $ZHS_HAS_SHWORDSPLIT_UNSET -eq 1 ] && nvm_has "unsetopt"
            then
                unsetopt shwordsplit
            fi
            if [ -n "$OUTPUT" ]
            then
                echo "$OUTPUT"
            fi
            return $EXIT_CODE ;;
        ("exec") shift
            local provided_version
            provided_version="$1"
            if [ -n "$provided_version" ]
            then
                VERSION="$(nvm_version "$provided_version")"
                if [ "_$VERSION" = "_N/A" ]
                then
                    nvm_rc_version
                    provided_version="$NVM_RC_VERSION"
                    VERSION="$(nvm_version "$provided_version")"
                else
                    shift
                fi
            fi
            nvm_ensure_version_installed "$provided_version"
            EXIT_CODE=$?
            if [ "$EXIT_CODE" != "0" ]
            then
                return $EXIT_CODE
            fi
            echo "Running node $VERSION"
            NODE_VERSION="$VERSION" $NVM_DIR/nvm-exec "[email protected]" ;;
        ("ls"|"list") local NVM_LS_OUTPUT
            local NVM_LS_EXIT_CODE
            NVM_LS_OUTPUT=$(nvm_ls "$2")
            NVM_LS_EXIT_CODE=$?
            nvm_print_versions "$NVM_LS_OUTPUT"
            if [ $# -eq 1 ]
            then
                nvm alias
            fi
            return $NVM_LS_EXIT_CODE ;;
        ("ls-remote"|"list-remote") local PATTERN
            PATTERN="$2"
            local NVM_FLAVOR
            case "_$PATTERN" in
                ("_$(nvm_iojs_prefix)"|"_$(nvm_node_prefix)") NVM_FLAVOR="$PATTERN"
                    PATTERN="$3"  ;;
            esac
            local NVM_LS_REMOTE_EXIT_CODE
            NVM_LS_REMOTE_EXIT_CODE=0
            local NVM_LS_REMOTE_OUTPUT
            NVM_LS_REMOTE_OUTPUT=''
            if [ "_$NVM_FLAVOR" != "_$(nvm_iojs_prefix)" ]
            then
                NVM_LS_REMOTE_OUTPUT=$(nvm_ls_remote "$PATTERN")
                NVM_LS_REMOTE_EXIT_CODE=$?
            fi
            local NVM_LS_REMOTE_IOJS_EXIT_CODE
            NVM_LS_REMOTE_IOJS_EXIT_CODE=0
            local NVM_LS_REMOTE_IOJS_OUTPUT
            NVM_LS_REMOTE_IOJS_OUTPUT=''
            if [ "_$NVM_FLAVOR" != "_$(nvm_node_prefix)" ]
            then
                NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "$PATTERN")
                NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
            fi
            local NVM_OUTPUT
            NVM_OUTPUT="$(echo "$NVM_LS_REMOTE_OUTPUT
$NVM_LS_REMOTE_IOJS_OUTPUT" | command grep -v "N/A" | sed '/^$/d')"
            if [ -n "$NVM_OUTPUT" ]
            then
                nvm_print_versions "$NVM_OUTPUT"
                return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE
            else
                nvm_print_versions "N/A"
                return 3
            fi ;;
        ("current") nvm_version current ;;
        ("which") local provided_version
            provided_version="$2"
            if [ $# -eq 1 ]
            then
                nvm_rc_version
                if [ -n "$NVM_RC_VERSION" ]
                then
                    provided_version="$NVM_RC_VERSION"
                    VERSION=$(nvm_version "$NVM_RC_VERSION")
                fi
            elif [ "_$2" != '_system' ]
            then
                VERSION="$(nvm_version "$provided_version")"
            else
                VERSION="$2"
            fi
            if [ -z "$VERSION" ]
            then
                nvm help >&2
                return 127
            fi
            if [ "_$VERSION" = '_system' ]
            then
                if nvm_has_system_iojs > /dev/null 2>&1 || nvm_has_system_node > /dev/null 2>&1
                then
                    local NVM_BIN
                    NVM_BIN="$(nvm use system >/dev/null 2>&1 && command which node)"
                    if [ -n "$NVM_BIN" ]
                    then
                        echo "$NVM_BIN"
                        return
                    else
                        return 1
                    fi
                else
                    echo "System version of node not found." >&2
                    return 127
                fi
            elif [ "_$VERSION" = "_∞" ]
            then
                echo "The alias \"$2\" leads to an infinite loop. Aborting." >&2
                return 8
            fi
            nvm_ensure_version_installed "$provided_version"
            EXIT_CODE=$?
            if [ "$EXIT_CODE" != "0" ]
            then
                return $EXIT_CODE
            fi
            local NVM_VERSION_DIR
            NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
            echo "$NVM_VERSION_DIR/bin/node" ;;
        ("alias") local NVM_ALIAS_DIR
            NVM_ALIAS_DIR="$(nvm_alias_path)"
            command mkdir -p "$NVM_ALIAS_DIR"
            if [ $# -le 2 ]
            then
                local DEST
                for ALIAS_PATH in "$NVM_ALIAS_DIR"/"$2"*
                do
                    ALIAS="$(command basename "$ALIAS_PATH")"
                    DEST="$(nvm_alias "$ALIAS" 2> /dev/null)"
                    if [ -n "$DEST" ]
                    then
                        VERSION="$(nvm_version "$DEST")"
                        if [ "_$DEST" = "_$VERSION" ]
                        then
                            echo "$ALIAS -> $DEST"
                        else
                            echo "$ALIAS -> $DEST (-> $VERSION)"
                        fi
                    fi
                done
                for ALIAS in "$(nvm_node_prefix)" "stable" "unstable" "$(nvm_iojs_prefix)"
                do
                    if [ ! -f "$NVM_ALIAS_DIR/$ALIAS" ]
                    then
                        if [ $# -lt 2 ] || [ "~$ALIAS" = "~$2" ]
                        then
                            DEST="$(nvm_print_implicit_alias local "$ALIAS")"
                            if [ "_$DEST" != "_" ]
                            then
                                VERSION="$(nvm_version "$DEST")"
                                echo "$ALIAS -> $DEST (-> $VERSION) (default)"
                            fi
                        fi
                    fi
                done
                return
            fi
            if [ -z "$3" ]
            then
                command rm -f "$NVM_ALIAS_DIR/$2"
                echo "$2 -> *poof*"
                return
            fi
            VERSION="$(nvm_version "$3")"
            if [ $? -ne 0 ]
            then
                echo "! WARNING: Version '$3' does not exist." >&2
            fi
            echo "$3" | tee "$NVM_ALIAS_DIR/$2" > /dev/null
            if [ ! "_$3" = "_$VERSION" ]
            then
                echo "$2 -> $3 (-> $VERSION)"
            else
                echo "$2 -> $3"
            fi ;;
        ("unalias") local NVM_ALIAS_DIR
            NVM_ALIAS_DIR="$(nvm_alias_path)"
            command mkdir -p "$NVM_ALIAS_DIR"
            if [ $# -ne 2 ]
            then
                nvm help >&2
                return 127
            fi
            [ ! -f "$NVM_ALIAS_DIR/$2" ] && echo "Alias $2 doesn't exist!" >&2 && return
            command rm -f "$NVM_ALIAS_DIR/$2"
            echo "Deleted alias $2" ;;
        ("reinstall-packages"|"copy-packages") if [ $# -ne 2 ]
            then
                nvm help >&2
                return 127
            fi
            local PROVIDED_VERSION
            PROVIDED_VERSION="$2"
            if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version "$PROVIDED_VERSION")" = "$(nvm_ls_current)" ]
            then
                echo 'Can not reinstall packages from the current version of node.' >&2
                return 2
            fi
            local NPMLIST
            if [ "_$PROVIDED_VERSION" = "_system" ]
            then
                if ! nvm_has_system_node && ! nvm_has_system_iojs
                then
                    echo 'No system version of node or io.js detected.' >&2
                    return 3
                fi
                NPMLIST=$(nvm deactivate > /dev/null && npm list -g --depth=0 | command tail -n +2)
            else
                local VERSION
                VERSION="$(nvm_version "$PROVIDED_VERSION")"
                NPMLIST=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 | command tail -n +2)
            fi
            local INSTALLS
            INSTALLS=$(echo "$NPMLIST" | command sed -e '/ -> / d' -e 's/^.* \(.*\)@.*/\1/' -e '/^npm$/ d' | command xargs)
            echo "Copying global packages from $VERSION..."
            echo "$INSTALLS" | command xargs npm install -g --quiet
            local LINKS
            LINKS=$(echo "$NPMLIST" | command sed -n 's/.* -> \(.*\)/\1/ p')
            echo "Linking global packages from $VERSION..."
            for LINK in $LINKS
            do
                (
                    cd "$LINK" && npm link
                )
            done ;;
        ("clear-cache") command rm -f $NVM_DIR/v* "$(nvm_version_dir)" 2> /dev/null
            echo "Cache cleared." ;;
        ("version") nvm_version $2 ;;
        ("--version") echo "0.25.1" ;;
        ("unload") unset -f nvm nvm_print_versions nvm_checksum nvm_iojs_prefix nvm_node_prefix nvm_add_iojs_prefix nvm_strip_iojs_prefix nvm_is_iojs_version nvm_ls_remote nvm_ls nvm_remote_version nvm_remote_versions nvm_version nvm_rc_version nvm_version_greater nvm_version_greater_than_or_equal_to nvm_supports_source_options > /dev/null 2>&1
            unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1 ;;
        (*) nvm help >&2
            return 127 ;;
    esac
}

Best How To :

Doing source $(brew --prefix nvm)/nvm.sh exports nvm() function into your shell environment. It's not a reference to an executable, but the function whose contents you see when you do which nvm.

How do i make a condition that will end the program, and prevent further cout statements?

c++,terminal

I would suggest you use switch case for the conditions and a while loop for the enter 1,2,3 thing.. Something like bool running=true; while(running) { running = false; switch(i) { case 1: stuff; break; case 2: stuff; break; case 3: stuff; break; default: cout<<"enter 1,2,3"; running = true; } }...

How do I find out exact characters in a text input or file?

bash,terminal

Try diff a b | od -tx1 or some variant...

Trouble running C++ through terminal in Ubuntu

c++,linux,ubuntu,gcc,terminal

The errors that you are getting are because the cout is not in the global namespace rather it is in std namespace. Well instead of writing using namespace std; after #include <iostream> try using: using std::cout; since using first option is a bad practice. You can refer to Why is...

Script to get List of logged in users

linux,shell,scripting,terminal

Try doing this in single one awk statement: who | awk '{print "The user " $1 " is on " $2}' By doing that many piping, you are sending first one's input as another ones output. Hence you are losing previous data and at last only the output of who...

How to exit if statement in bash without exiting program?

bash,terminal

First: Don't do any of this. Structure your program some other way. If you described to us why you think you need this behavior, we could potentially have told you how to achieve it otherwise. Getting down to the question: If you wrap your block in a loop, you can...

Is there a way to go two directories back in cygwin (linux)?

terminal,cygwin,cd

You can use pushd and popd. pushd adds a directory to stack, popd removes it. See man bash for details.

C passing terminal commands and print answer

c,variables,terminal

system doesn't return the output the command you run but simply returns the exit status. You probably want to use popen() to read the output of the command you run. See an example in the linked man page. You also need to use strcmp for comparing strings, not ==....

loop through different arguments in Rscript within Korn shell

r,terminal,ksh

You need to do two things: Create an array of all your input variables Loop through the array and initiate all your calls The following illustrates the concept: #!/bin/ksh #Create array of inputs - space separator inputs=(Input1 Input2 Input3 Input4) # Loop through all the array items {0 ... n-1}...

Extract string with grouping in regular expression on terminal

regex,linux,bash,terminal

You can do the following: grep -oP "(?<=\">).*(?=</a)" your_file This will print: Lab: K-means Clustering Lab: Hierarchical Clustering Interview with John Chambers Interview with Bradley Efron Interview with Jerome Friedman Interviews with statistics graduate students Since there's no easy way to print only captured groups using grep, I used lookahead...

Mac Terminal Auto Complete

osx,terminal

Put this in your ~/.inputrc: set show-all-if-ambiguous on You'll need to restart your shell (for example by opening a new terminal window or typing exec /bin/bash)....

How should I add a stationary progress bar to a C++ program that produces terminal output (in Linux)?

c++,linux,terminal,progress-bar

The only portable way of moving the cursor around that I know of is using \r to move to the beginning of the line. You mention that you would like to output stuff above the progress. Fortunately, you are in luck since you're on Linux and you can use the...

Which Linux command determines if message queues or shared memory are in use?

c,linux,terminal

I think you need ipcs. You can find more informations there : http://www.makelinux.net/alp/035 http://linuxcommand.org/man_pages/ipcs8.html ...

terminal command for running sublime text 3 from on ubuntu

linux,ubuntu,terminal

As per Mathias comment in my question I found the answer here... How can I open Sublime Text 2 files from the command line in linux to a tab, not a new window...

When was a file used by another program

osx,performance,terminal,stata

From the OS X terminal, cd to the directory containing the CSV files, and run the command ls -lUt | head which should show your files, sorted by the most recent access time, limited to the 10 most recently accessed....

How do I install homebrew on mac?

ruby,osx,installation,homebrew,command-prompt

Do you have XCode and Command Line Tools installed? If so, the above script should have done it. Go to the terminal and type brew doctor This will tell you the status of your install....

Python (3.4) run SSH commands on local terminal [closed]

python,ssh,terminal

You might be looking for the subprocess module. You can do (for example): subprocess.call("<bash command here>", shell = True) For more details check the documentation....

Why is it slower to print directly to console/terminal than redirecting?

linux,io,terminal

Primarily, terminals are just plain slow. For every update, they have to: Parse and interpret any control codes. Parse, interpret and render any escape codes. Interpret and account for any multibyte and composed characters. Update appropriate screen and scroll buffers. Render this with appropriate fonts. and possibly do all of...

Error in reading Ubuntu 14.04 mouse event file (/dev/input/event3) with java programmig

java,events,ubuntu,terminal,mouse

Check that your buffer size is correct. In recent Linux kernels size of input_event structure is dependent on many things, but mainly on cpu architecture. Here's its declaration: struct input_event { struct timeval time; __u16 type; __u16 code; __s32 value; }; On 32-bit systems it's very likely that your buffer...

How to enable branch hints in Mac OS git?

osx,git,terminal

You have to install git-autocomplete which can be get with homebrew: Install Git and bash-completion: brew install git bash-completion (Note: If this install fails with a 404 error, and you already have git installed, just remove the git part of this brew install) Add bash-completion to your .bash_profile: if [...

Do executable files always open a terminal window on MacOS?

osx,terminal,executable,app-bundle

I believe what you're seeing is correct. In order for a separate window to not pop-up, you'd need to encapsulate it into a bundle. Launching by double-clicking a bundle, or using the 'open' command from Terminal uses Apple's Launch Services, which maintains a list of known (registered) applications. When an...

How to list the contents of a subdirectory after finding the directory

linux,bash,terminal

I guess you could use something like this: find . -maxdepth 2 -type d -name "MWACluster15" -execdir ls {}/logs/ \; -execdir executes a command from the directory in which the directory you're interested in is found. The {} is a placeholder which is substituted with the directory name "MWACluster15"....

xargs echo colored output

terminal,xargs

Perhaps this is for Linux (although OSX adds an interesting twist by reversing the roles of bash and echo). Linux's /bin/echo has a -e option which expands escapes of the sort you show, while some shells (such as dash, used in Debian) follow POSIX more closely, and do not do...

How to make a scrolling menu in python-curses

python,terminal,curses,python-curses

This code allows you to create a little menu in a box from a list of strings. You can also use this code getting the list of strings from a sqlite query or from a csv file. To edit the max number of rows of the menu you just have...

Using local brew formula to install cross platform gcc compiler

gcc,homebrew

The directory where the downloaded rb files are stored is /usr/local/Library/Formula, then run the brew command to install. The log files can be found in /Users/smcho/Library/Logs/Homebrew. Or, I could point to where the rb file is located. brew install https://raw.githubusercontent.com/Gallopsled/pwntools-binutils/master/osx/binutils-$ARCH.rb References https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.md#formula-cookbook https://github.com/Gallopsled/pwntools-binutils/tree/master/osx...

nano: Move forwards/backwards one word with META+Left / META+Right

unix,terminal,nano

According to the manual page for nanorc, you cannot do this. It does not accept bindings for special keys modified by meta. This is what it says regarding M- (the meta-modifier): M- followed by a printable character or the word "Space". Example: M-C A similar question was asked in Bind...

Terminal line resetting after about 50 characters

terminal

The usual reason for this is due to not quoting escape sequences used to color or highlight your prompt in the bash shell. If you do not do that, bash counts the escape characters as "printing". The same would apply for zsh (different quoting), but bash happens to be the...

Iterate over specific files in a directory using Bash find

bash,command-line,terminal

In line one: What is '' file? According to help read, that '' is an argument to the -d parameter: -d delim continue until the first character of DELIM is read, rather than newline In line six: What does the empty space do in < < (find). There are...

C++: Re-use line printed to console [duplicate]

c++,terminal,console,formatting,output

You can either print the "="s without a line break or you can use ncurses which I think also wget uses. But in my opinion ncurses is much work to do. For small Projects I recommend the simpler way....

Error installing Gulp

node.js,terminal,gulp,taskmanager

Other answers are bypassing these issues by the use of sudo or su root. I personally don't recommend this. The reason it works is because on OSX the global npm module directory has stricter permissions. Running your commands with root privileges just to get around permissions issues is likely only...

cd command stopped working when not in su mode in terminal [closed]

linux,bash,terminal

There are an alias: alias cd='cd /home/l_name' that mades unusable the "cd" functionality, redirecting all "cd" commands to "/home/l_name"...

Macports switch PHP CLI version

php,bash,drupal,terminal,macports

Do not modify files in /usr/bin. That's Apple's turf, and there are always other possibilities to avoid changing things there, especially since Apple's next update will happily revert these changes again and scripts might rely on /usr/bin/php being exactly the version Apple shipped with the OS. Put the original binary...

how to get multiple column layout for terminal on mac?

osx,terminal

OS X terminal doesn't have the option to split panes vertically. It is only possible to split horizontally. I recommend using iTerm2 on OS X. It has a lot of features missing in default terminal, including possibility to split windows both horizontally and vertically. ...

code . shortcut fails on OSX

osx,terminal,vscode

Make sure you have Visual Studio Code 0.3.0 installed. We recently changed the bundle identifier!

How can I run the Jenkins jobs through terminal?

jenkins,terminal

There are few ways to trigger a Jenkins build from command line: Remote access API is offered in a REST-like style: Job without parameters: curl -X POST JENKINS_URL/job/JOB_NAME/build --user username:token Job with parameters: curl -X POST JENKINS_URL/job/JOB_NAME/build \ --user username:token \ --data-urlencode json='{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}' Jenkins CLI -...

Why is Unix/Terminal faster than R?

r,bash,shell,unix,terminal

I'm not sure what operations you're talking about, but in general, more complex processing systems like R use more complex internal data structures to represent the data being manipulated, and constructing these data structures can be a big bottleneck, significantly slower than the simple lines, words, and characters that Unix...

brew link boost to homebrew python

python,boost,homebrew,boost-python,brew

That is the Homebrew Python. The system Python framework is in /System/Library/Frameworks.

How to get Mouse support for dtterm terminal in solaris

terminal,solaris,gnu-screen

There is more than one problem: xtermc does not match any terminal that you are likely to encounter (noted in xterm FAQ What $TERM should I use? dtterm does not match xtermc either (use infocmp xtermc dtterm to see). Sun stopped providing up-to-date terminal entries about 20 years ago. Perhaps...

How to check whether std::cout support colors?

c++,terminal

There is no portable way to determine if a given device supports colors. There are several programming interfaces (some portable, some not) which attempt to determine this information, but rely upon being configured properly. For instance, curses (including ncurses) relies upon your setting TERM correctly to tell the library what...

Eclipse CDT - No Console Output on OSX

c++,eclipse,osx,terminal,64bit

Are you using the right compiler? If you are compiling with Cross GCC it might not run on a 64bit OS X device. Try using MacOS GCC for compiling if so.

How do I force jquery terminal to remain the same size?

jquery,scroll,terminal,position,jquery-terminal

Add a height option: JS $('#terminal').terminal(function (command, term) { if (command == 'test') { term.echo("you just typed 'test'"); } else { term.echo('unknown command'); } }, { prompt: '>', name: 'test', height: 200 }); Demo: http://jsfiddle.net/11o3spLd/...

Is there a way to save a mac terminal output directly to a file?

excel,osx,terminal

Imagine your mysterious program is called fred and you run it by typing ./fred in the Terminal. Now, you can make the output get sent into a file called file.txt by running it like this: ./fred > file.txt Now, you can copy the first 10 lines of the file by...

How to get CPU utilization in % in terminal (mac)

osx,terminal,cpu

This works on a Mac (includes the %): ps -A -o %cpu | awk '{s+=$1} END {print s "%"}' To break this down a bit: ps is the process status tool. Most *nix like operating systems support it. There are a few flags we want to pass to it: -A...

Where can I read the ANSI terminal standard?

terminal,standards

I think I found what I'm looking for. According to WikiPedia's ANSI escape code, the standard adopted was ECMA-48, the document is available at www.ecma-international.org Ecma-048.pdf

Using a command-line utility to perform the following map-updates

shell,command-line,awk,terminal

If order is not important, join and awk can do the job easily. $ join <(sort input.txt) <(sort mapping.txt) | awk -v OFS="|" '{for (i=3;i<NF;i++) print $2, $i OFS}' 103823054|001| 103823044|011| 103823044|012| 103823044|013| 103823064|011| 103823064|012| 103823064|013| ...

Unable to install jade in a node.js project

node.js,osx,terminal,jade

You are using a non supported npm and an old nodejs version, please upgrade node (npm is embedded) ans try again. https://nodejs.org/download/

How can I fix “Error: Formulae found in multiple taps”?

php,osx,homebrew,phpredis

brew untap josegonzalez/homebrew-php ...

How do I know where homebrew installs symlinks?

osx,homebrew

Yes, symlinks can be placed elsewhere. For example, a formula might put a symlink at $(brew --prefix)/lib. You can list all of a formula's files by running brew ls $formula (although not all files are necessarily symlinked into a subdirectory of brew --prefix, but most are).

Why I'm getting different java versions

java,terminal,java-8

Could it be that you installed the JRE 8 update 45 but still have version 8 update 31 for JDK?

Sudo chown mistake?

command-line,homebrew,chown

I think the permissions I mentioned in the comment should be fine, but if you want to be sure everything is set at its default, you can uninstall Homebrew using this script and then reinstall it from scratch. You can also follow this advice for resetting the permissions....

Ruby gems path issue (system vs brew)

ruby,gem,homebrew

Found the answer, the system rubygems.rb was referencing the wrong version of Ruby. More details here: https://github.com/Homebrew/homebrew/issues/31220