nvm
forgets the node version and defaults to nothing:$ nvm ls
:
.nvm
v0.11.12
v0.11.13
I have to keep hitting nvm use v.0.11.13
in every session:
.nvm
v0.11.12
-> v0.11.13
I've tried both the brew
install, as well as the official installation script.
My .profile
for the brew version:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
And for the install.sh script:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash
#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
转载于:https://stackoverflow.com/questions/24585261/nvm-keeps-forgetting-node-in-new-terminal-session
Try nvm alias default
. For example:
$ nvm alias default 0.12.7
This sets the default node version in your shell. Then verify that the change persists by closing the shell window, opening a new one, then: node --version
nvm does its job by changing the PATH variable, so you need to make sure you aren't somehow changing your PATH to something else after sourcing the nvm.sh script.
In my case, nvm.sh was being called in .bashrc but then the PATH variable was getting updated in .bash_profile which caused my session to find the system node before the nvm node.
Alias to node
itself to avoid updating the default alias along with node version updates later on.
nvm alias default node
The top rated solutions didn't seem to work for me. My solution is below:
brew uninstall nvm
brew install nvm
In Terminal, follow the steps below(these are also listed when installing nvm via homebrew):
mkdir ~/.nvm cp $(brew --prefix nvm)/nvm-exec ~/.nvm/ export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh
The steps outlined above will add NVM's working directory to your $HOME path, copy nvm-exec to NVM's working directory and add to $HOME/.bashrc, $HOME/.zshrc, or your shell's equivalent configuration file.(again taken from whats listed on an NVM install using homebrew)
This question has mentioned for the OSX, but it happened to me in my linux OS. I tried using nvm alias default <version>
but for each new terminal session the used node version was forgotten. so, here is the solution that i figured out.
make sure to set a default alias for node version,put the following code in .bashrc, and source .bashrc
.
export NVM_DIR="/home/bonnie/.nvm"
## If the file exists and is not empty
if [ -s "$NVM_DIR/nvm.sh" ]; then
## Source it
source "$NVM_DIR/nvm.sh"
fi
NODE_DEFAULT_VERSION=$(<"$NVM_DIR/alias/default")
export PATH="$NVM_DIR/versions/node/$NODE_DEFAULT_VERSION/bin":$PATH
run this after you installed any version,
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
This command is copying whatever version of node you have active via nvm into the /usr/local/ directory and setting the permissions so that all users can access them.
To install the latest stable version:
nvm install stable
To set default to the stable version (instead of a specific version):
nvm alias default stable
To list installed versions:
nvm list
As of v6.2.0
, it will look something like:
$ nvm list
v4.4.2
-> v6.2.0
default -> stable (-> v6.2.0)
node -> stable (-> v6.2.0) (default)
stable -> 6.2 (-> v6.2.0) (default)
iojs -> N/A (default)
Also in case you had node installed before nvm check in your ~/.bash_profile to not have something like :
export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
If you do have it, comment/remove it and nvm should start handling the default node version.
I have found a new way here. Using n
Interactively Manage Your Node.js helps.
If you have tried everything still no luck you can try this :_
1 -> Uninstall NVM
rm -rf ~/.nvm
2 -> Remove npm dependencies by following this
3 -> Install NVM
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
4 -> Set ~/.bash_profile
configuration
Run sudo nano ~/.bash_profile
Copy and paste following this
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
5 -> CONTROL + X
save the changes
6 -> Run . ~/.bash_profile
7 -> Now you should have nvm
installed on your machine, to install node run nvm install v7.8.0
this will be default node version or you can install any version of node