ruby-on-rails – -bash:ruby:命令未找到

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

我正在使用ubuntu 12.04.

这是我的〜/ .profile文件:

# ~/.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 -)"

我用rbenv安装了ruby最后一个版本,当我尝试ruby -v时,我得到-bash:ruby:command not found

解决方法

rbenv在〜/ .bash_profile的末尾需要这些:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

使用grep rbenv~ / .bash_profile查看它们是否在那里.

如果没有,请运行:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l

你应该开始运作.

有关详细信息,请参阅the docs中的步骤2和3.

有关.bashrc,.bash_profile和.profile的更多信息,请参阅:

> 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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...