mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-05-17 17:41:50 +00:00
Merge 7c1d4b1297
into 689c52c90d
This commit is contained in:
commit
d7d8ae6abe
18
install.sh
18
install.sh
@ -169,6 +169,24 @@ nvm_do_install() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# Actions for fish shell
|
||||
if (which fish > /dev/null); then
|
||||
echo "=> fish found, copying nvm function"
|
||||
FISH_CONFIG_DIR=$HOME/.config/fish
|
||||
FISH_FUNCTIONS_DIR=$FISH_CONFIG_DIR/functions
|
||||
|
||||
mkdir -p $FISH_FUNCTIONS_DIR
|
||||
cp $NVM_DIR/nvm.fish $FISH_FUNCTIONS_DIR
|
||||
|
||||
# Apply nvm in fish configuration
|
||||
FISH_CONFIG_STRING="nvm > /dev/null ^&1"
|
||||
FISH_CONFIG_FILE=$FISH_CONFIG_DIR/config.fish
|
||||
if ! grep -q "$FISH_CONFIG_STRING" $FISH_CONFIG_FILE 2> /dev/null ; then
|
||||
echo "=> appending nvm to fish configuration"
|
||||
echo $FISH_CONFIG_STRING >> $FISH_CONFIG_DIR/config.fish
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "=> Close and reopen your terminal to start using nvm"
|
||||
nvm_reset
|
||||
}
|
||||
|
14
nvm
Executable file
14
nvm
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get this script after dereferincing all symlinks
|
||||
# !! Doesn't check for circular symlinks !!
|
||||
SOURCE="${BASH_SOURCE[0]}"
|
||||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||
done
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
|
||||
source "$DIR/nvm.sh"
|
||||
'nvm' $@
|
24
nvm.fish
Normal file
24
nvm.fish
Normal file
@ -0,0 +1,24 @@
|
||||
function nvm --description "Node version manager" -a nvm_command nvm_command_arg1
|
||||
set nvm_dir ~/.nvm
|
||||
set nvm_ $nvm_dir/nvm
|
||||
|
||||
# This sets some environment vars that we need to set too
|
||||
if test "$nvm_command" = "use"
|
||||
eval $nvm_ use --print-paths $nvm_command_arg1 | sed -re "s|^(\w+=)|set -x \1|g" -e "s|[=:]| |g" | grep "set -x" | .
|
||||
else
|
||||
# Make sure we can use node
|
||||
if test ! (which node)
|
||||
# Have we installed node at all ?
|
||||
if eval $nvm_ ls | grep "N/A" > /dev/null
|
||||
echo "No node installation found, installing stable"
|
||||
eval $nvm_ install stable
|
||||
end
|
||||
# Make sure we have a default picked
|
||||
if eval $nvm_ ls default | grep "N/A"
|
||||
eval $nvm_ alias default stable
|
||||
end
|
||||
nvm use default
|
||||
end
|
||||
eval $nvm_ $argv
|
||||
end
|
||||
end
|
39
nvm.sh
39
nvm.sh
@ -535,7 +535,7 @@ nvm() {
|
||||
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 [--print-paths] use <version> Modify PATH (and optionally print it) 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"
|
||||
@ -794,20 +794,35 @@ nvm() {
|
||||
fi
|
||||
;;
|
||||
"use" )
|
||||
shift # start treating the args given to "use"
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
nvm help
|
||||
return 127
|
||||
fi
|
||||
if [ $# -eq 1 ]; then
|
||||
nvm_rc_version
|
||||
if [ -n "$NVM_RC_VERSION" ]; then
|
||||
VERSION=`nvm_version $NVM_RC_VERSION`
|
||||
fi
|
||||
elif [ "_$2" != '_system' ]; then
|
||||
VERSION="$(nvm_version "$2")"
|
||||
else
|
||||
VERSION="$2"
|
||||
# Handle options
|
||||
while [ $# > 0 ]; do
|
||||
key="$1"
|
||||
shift
|
||||
case $key in
|
||||
--print-paths)
|
||||
PRINT_PATHS=true
|
||||
;;
|
||||
|
||||
*)
|
||||
if [ "_$key" != '_system' ]; then
|
||||
VERSION="$(nvm_version "$key")"
|
||||
else
|
||||
VERSION="$key"
|
||||
fi
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -z "$VERSION" ]; then
|
||||
nvm help
|
||||
return 127
|
||||
@ -822,7 +837,7 @@ nvm() {
|
||||
return 127
|
||||
fi
|
||||
elif [ "_$VERSION" = "_∞" ]; then
|
||||
echo "The alias \"$2\" leads to an infinite loop. Aborting." >&2
|
||||
echo "The alias \"$key\" leads to an infinite loop. Aborting." >&2
|
||||
return 8
|
||||
fi
|
||||
|
||||
@ -858,6 +873,12 @@ nvm() {
|
||||
if [ "$NVM_SYMLINK_CURRENT" = true ]; then
|
||||
rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
|
||||
fi
|
||||
if [ $PRINT_PATHS ]; then
|
||||
echo PATH=$PATH
|
||||
echo NODE_PATH=$NODE_PATH
|
||||
echo NVM_PATH=$NVM_PATH
|
||||
echo NVM_BIN=$NVM_BIN
|
||||
fi
|
||||
echo "Now using node $VERSION"
|
||||
;;
|
||||
"run" )
|
||||
|
Loading…
Reference in New Issue
Block a user