-bash: ruby: command not found
25,189
Solution 1
rbenv needs these at the end of your ~/.bash_profile:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Use grep rbenv ~/.bash_profile
to see if they're there.
If not, run:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l
and you should be up and running.
See steps 2 and 3 in the docs for more information.
Additional information on .bashrc, .bash_profile and .profile can be found in:
- What's the difference between .bashrc, .bash_profile, and .environment?
- Difference between .profile and .bash_profile on Snow Leopard
- https://superuser.com/questions/183870/difference-between-bashrc-and-bash-profile
- https://unix.stackexchange.com/questions/40708/what-is-the-difference-between-profile-bashrc-bash-profile-gnomer
Solution 2
Run env | grep PATH
and make sure that you have $HOME/.rbenv/bin
in your PATH.
If it is not, add this to ~/.bash_profile.
export PATH="$HOME/.rbenv/bin:$PATH"
Author by
hyperrjas
Code Lover Ror, Nodejs, React/Redux, Mongodb/Mysql/GraphQl
Updated on July 09, 2022Comments
-
hyperrjas almost 2 years
hyperrjas@serv1:~$ rbenv global 1.9.3-p392 hyperrjas@serv1:~$ rbenv local 1.9.3-p392 hyperrjas@serv1:~$ which ruby-build /usr/local/bin/ruby-build hyperrjas@serv1:~$ rbenv versions * 1.9.3-p392 (set by /home/hyperrjas/.ruby-version) hyperrjas@serv1:~$ rbenv version 1.9.3-p392 (set by /home/hyperrjas/.ruby-version) hyperrjas@serv1:~$ rbenv rehash hyperrjas@serv1:~$ ruby -v -bash: ruby: command not found hyperrjas@serv1:~$ env | grep PATH PATH=/home/hyperrjas/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript hyperrjas@serv1:~$ export PATH="$HOME/.rbenv/bin:$PATH" hyperrjas@serv1:~$ ruby -v -bash: ruby: command not found
I'm working with ubuntu 12.04.
This is my
~/.profile
file:# ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" eval "$(rbenv init -)" eval "$(rbenv init -)"
I have installed ruby last version with rbenv and when I try
ruby -v
I get-bash: ruby: command not found
-
hyperrjas about 11 yearsThank you I have tried with this but I get the same result. This is my
env | grep PATH
PATH=/home/hyperrjas/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
Thank you -
Joe Frambach about 11 yearsOpen a new terminal window. Your changes will applied at the next terminal window login.
-
Stefan about 11 years
rbenv init
enables shims and autocompletion. -
hyperrjas about 11 yearsI don't understand why in rbenv doc specify if you are running ubuntu it is possible add Ubuntu note:
Modify your ~/.profile instead of ~/.bash_profile.
. If with~/.profile
is not working why is specified in doc? -
PJP about 11 yearsGood. I think you'll find rbenv is great for "normal" development. I used RVM for a long time and decided it was getting too big for my needs.