Reputation: 10812
I am trying to install NVM as per these instructions
I typed in this command in terminal:
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
After running the install, I restart the terminal and attempt to install Node.js with this command:
$ nvm install 0.8
but I get the response:
-bash: nvm: command not found
I'm not sure what I am doing wrong here.
Additional Info:
I've been looking around for solutions from other posts and forums. I found another solution using
$ git clone git://github.com/creationix/nvm.git ~/.nvm
but this times out every time I attempt that.
Upvotes: 809
Views: 1592925
Reputation: 1649
Try following the commands:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
source ~/.bashrc
Upvotes: 0
Reputation: 51
Installed nvm using brew. This is what worked for me:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
Upvotes: 4
Reputation: 22704
I think you missed this step:
source ~/.nvm/nvm.sh
You can run this command on the bash OR you can put it in the file /.bashrc
or ~/.profile
or ~/.zshrc
to automatically load it
https://github.com/creationix/nvm
Upvotes: 2012
Reputation: 21
To overcome the above problem developer need install NVM in his machine to control the nodejs versions. For this we need to follow the below steps,
6.To see the versions of Nodejs you have installed on your machine
nvm list
Upvotes: 0
Reputation: 119
I'm using linux brew
and bash
and it asked me to add the following code to ~/.profile
export NVM_DIR="$HOME/.nvm"
[ -s "/home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh" ] && \. "/home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/home/linuxbrew/.linuxbrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/home/linuxbrew/.linuxbrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
But in my case, that did not work.
Instead, adding it to ~/.bashrc
worked.
Upvotes: -1
Reputation: 5095
Upvotes: 10
Reputation: 1617
Over time, nvm (from homebrew) changed its post-installation instructions.
I was getting nvm_find_nvmrc not found
on a new computer, until I replaced
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
with
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
which properly found the installation location.
Upvotes: 14
Reputation: 2139
Same problem encountered. You have to source shell file as well as change nvm's default version.
First, source ~/.nvm/nvm.sh
.
Second, change nvm's default version.
nvm alias default 16.14.2
If you don't change nvm's default version, you will find the node version stay the same when you switch to another iTerm tab.
Upvotes: 24
Reputation: 29068
I faced a similar issue when installing nvm on a MacBook Pro.
I had installed nvm initially using brew:
brew install nvm
But when I run the command:
nvm --version
I get the error:
zsh nvm: command not found
Here's how I fixed it:
Installing nvm
using brew is not enough to get it to work. You also need to do the following below;
Confirm that the source ~/.zshrc
, ~/.bash_profile
, ~/.profile
, or ~/.bashrc
file exists:
zsh: ~/.zshrc
bash: ~/.bashrc
ksh: ~/.profile
Else create it using:
touch ~/.zshrc
touch ~/.bashrc
touch ~/.profile
Next, run either of the commands below:
Note: You can check the referenced link below to get the updated commands.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
OR
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Note: Running either of the above commands downloads a script and runs it. The script clones the nvm
repository to ~/.nvm
, and attempts to add the source lines from the snippet below to the correct profile file (~/.bash_profile
, ~/.zshrc
, ~/.profile
, or ~/.bashrc
)
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.
You can check the referenced link below to get the updated script.
Reference: Installing and Updating NVM
Upvotes: 46
Reputation: 1268
After spending more than 3 hours testing some of the solutions above I came across an answer that was working for me. I am under Ubuntu 20.04.3 LTS and with a fresh install added the official command:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh |
bash
The problem was that my version of curl was obtained via snap. Removing it and re-installing it as suggested by this answer fixed the issue:
sudo snap remove curl
sudo apt install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh
| bash
nvm install node
Upvotes: 2
Reputation: 901
Assuming that you have installed nvm using brew (I am on a mac), I mean something like brew install nvm
, all you need to do is:
1. You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
2. Add the following to ~/.zshrc or your desired shell configuration
file:
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
Upvotes: 30
Reputation: 758
For Mac OS:
ls -a ~/
touch ~/.profile
source ~/.nvm/nvm.sh
Upvotes: 6
Reputation: 452
Something to be aware of, which tripped me up for an hour, is that nvm
is "Implemented as a POSIX-compliant function", as it states at the top of the nvm.sh
script file. This means there's no nvm
file in your path, and thus you can't verify that nvm is present using the which
command. Instead, use nvm --version
, and verify that you get expected output.
malderete-ltm:~ malderete$ nvm --version
0.38.0
malderete-ltm:~ malderete$ which nvm
malderete-ltm:~ malderete$ which node
malderete-ltm:~ malderete$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v14.17.5...
Downloading https://nodejs.org/dist/v14.17.5/node-v14.17.5-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v14.17.5 (npm v6.14.14)
Creating default alias: default -> lts/* (-> v14.17.5)
malderete-ltm:~ malderete$ nvm use --lts
Now using node v14.17.5 (npm v6.14.14)
malderete-ltm:~ malderete$ which node
/Users/malderete/.nvm/versions/node/v14.17.5/bin/node
(As someone who is only semi-command line literate, I lean on the which
command by muscle memory. Using nvm --version
is in the instructions, but if you're an idiot like me, you might miss/skip over that part, and use which nvm
by reflex, and think that nvm isn't installed.)
Upvotes: 1
Reputation: 40551
Figure out the following:
echo $0
to find out (normally works)source ~/.nvm/nvm.sh
to that file (assuming that file exists at that location, it is the default install location)As you can see it states zsh
and not bash
.
To fix this I needed to add source ~/.nvm/nvm.sh
to the ~/.zshrc
file as when starting a new terminal my Deepin Terminal zsh reads ~/.zshrc
and not bashs ~/.bashrc
.
This happens because when installing NVM it adds code to ~/.bashrc
, as my terminal Deepin Terminal uses zsh
and not bash
it never reads ~/.bashrc
and therefor never loads NVM.
In other words: this is NVMs fault.
More on zsh
can be read on one of the answers here.
curl raw.github.com/creationix/nvm/master/install.sh | zsh
Upvotes: 118
Reputation: 457
I have the same problem and what saved my life is the sentence "you may have to add to more than one of your "~/.bashrc, ~/.profile, or ~/.zshrc files". the following lines were in my .bashrc only, I added it to files ".bash_profile" and ".profile" and worked for me .
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
Upvotes: 21
Reputation: 180
Had the same problem, but this worked for me:
Since macOS 10.15, the default shell is zsh and nvm will look for .zshrc
to update, none is installed by default. Create one with touch ~/.zshrc
and run the install script again.
more info here: Troubleshooting on macOS
Upvotes: 2
Reputation: 55769
OSX 10.15.0 Catalina (released November 2019) changed the default shell to zsh.
The default shell was previously bash.
The installation command given on the nvm GitHub page needs to be tweaked to include "zsh" at the end.
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | zsh
Note: you might need to ensure the .rc
file for zsh is present beforehand:
touch ~/.zsrhrc
Upvotes: 23
Reputation: 790
For Mac OS:
touch ~/.bash_profile
vi ~/.bash_profile
source ~/.nvm/nvm.sh
Shift + Esc
and type wq
and press enter
Upvotes: 8
Reputation: 104870
This works for me:
Before installing nvm
, run this in terminal: touch ~/.bash_profile
After, run this in terminal:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
Important... - DO NOT forget to Restart your terminal OR use command source ~/.nvm/nvm.sh
(this will refresh the available commands in your system path).
In the terminal, use command nvm --version
and you should see the version
Upvotes: 269
Reputation: 2189
For MacOS;
Run on Terminal >
open ~/.bash_profile
Paste all of this=
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Upvotes: 12
Reputation: 31335
After trying multiple steps, not sure what was the problem in my case but running this helped:
touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
Verified by nvm --version
Upvotes: 0
Reputation: 8615
Check your .bash_profile
, .zshrc
, or .profile
file. You most likely had a problem during the installation.
You should have the following at the end of one of those files.
[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh # This loads NVM
The . $HOME/.nvm/nvm.sh
is the same as source $HOME/.nvm/nvm.sh
See: Sourcing a File
You can also check to see if you have a .nvm
folder.
ls -a | grep .nvm
If you're missing that folder then the installation failed to run the git command. This could be due to being behind a proxy. Try running the following instead.
git clone http://github.com/creationix/nvm.git .nvm
Upvotes: 680
Reputation: 877
Use following codes
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash`
source ~/.nvm/nvm.sh`
nvm install 0.8
Upvotes: 2
Reputation: 20118
First add following lines in ~/.bashrc file
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
then open terminal and source the nvm.sh script
source ~/.nvm/nvm.sh
Upvotes: 19
Reputation: 7428
For the issue was fixed when I moved
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
to the end of .zshrc
Upvotes: 5
Reputation: 3674
All answers to this questions are useful. Especially the answer given by Travis helped me. For Mac OS X users I would like to provide some steps which will help them to work with the fresh installation of Node Version Manager a.k.a. nvm.
Installing & using nvm on Mac OS X
Here are the steps for fresh installation of nvm and using it without any issue:
Using homebrew install nvm
brew update
brew install nvm
Create .nvm
directory at ~/.nvm
location.
mkdir ~/.nvm
Now if you don't have .bash_profile
file setup for OS X terminal then please create a .bash_profile
at the root level:
nano ~/.bash_profile
Paste below code in the .bash_profile
and press CTRL + O
and press enter to save .bash_profile
file. Press CTRL + X
to exit from editor:
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Now either quite (CMD + Q
) the terminal or run below command to load .bash_profile
settings:
source ~/.bash_profile
Now run nvm ls
command to get the list of all installed nodejs versions.
Upvotes: 61
Reputation: 151
I also faced the same problem recently and sourcing nvm bash script by using source ~/.nvm/nvm.sh resolved this issue.
Upvotes: 0
Reputation: 4965
In Windows 8.1 x64
same happened with me, and received the following message.
nvm install 8.3.0 bash: nvm: command not found windows
So, follow or verify below following steps-
first install coreybutler/nvm-windows
from github.com
. Currently available latest release 1.1.5 nvm-setup.zip
, later extracted the setup nvm-setup.exe
and install as following locations:
NVM_HOME : C:\Users\Administrator\nvm
NVM_SYMLINK : C:\Program Files\nodejs
and meanwhile setup will manage the environment variable to Path
as above said for you.
Now run Git Bash
as Administrator and then.
$ nvm install 8.3.0 all
Downloading node.js version 8.3.0 (64-bit)...
Complete
Creating C:\Users\Administrator\nvm\temp
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...
Installation complete. If you want to use this version, type
nvm use 8.3.0
$ nvm use 8.3.0
Now using node v8.3.0 (64-bit)
here run your command without using prefix $
, it is just shown here to determine it as a command line and now we will verify the nvm version.
$ nvm --version
Running version 1.1.5.
Usage:
-----------------------
if you have problem using nvm
to install node
, you can see this list of available nodejs
releases here https://nodejs.org/download/release/
and choose the correct installer as per your requirement version equal or higher than v6.3.0
directly.
Upvotes: 2
Reputation: 513
Add the following lines to the files ~/.bashrc
and ~/.bash_profile
:
# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
and restart the terminal or do source ~/.bashrc
or source ~/.bash_profile
. If you need command completion for nvm then also add the line:
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Along with the above lines to ~/.bashrc
and ~/.bash_profile
.
Upvotes: 5
Reputation: 5206
For my case, it because I use fish. if I not start fish, just type nvm will no error now.
Upvotes: 1