我通过SSH登录到Bluehost服务器,并且想要安装Ruby v1.9.3和Rails v3.2.13。 Ruby的默认版本似乎是1.8.7,而Rails是2.3.11。
我尝试使用以下方式升级Rails:
gem install rails -v 3.2.13 --no-rdoc --no-ri
我得到以下输出:
Successfully installed rails-3.2.13
1 gem installed
然后,我尝试运行检查它是否已安装:
rails -v
我得到以下输出:
Rails 2.3.11
这些是我的bash_profile和bashrc文件在根文件夹中:
bash_profile:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export PATH=$HOME/bin:$HOME/.gems/bin:$PATH
export GEM_HOME="$HOME/.gems"
export GEM_PATH="$HOME/.gems:/usr/lib64/ruby/gems/1.8"
unset USERNAME
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
bashrc:
# .bashrc
# User specific aliases and functions
alias mv='mv -i'
alias rm='rm -i'
alias cp='cp -i'
export HPATH=$HOME
export GEM_HOME=$HPATH/ruby/gems
export GEM_PATH=$GEM_HOME:/usr/lib64/ruby/gems/1.8
export GEM_CACHE=$GEM_HOME/cache
export PATH=$PATH:$HPATH/ruby/gems/bin
export PATH=$PATH:$HPATH/ruby/gems
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
为什么不升级?另外,我应该在bluehost SSH session 中使用什么命令来升级Ruby?
最佳答案
将以下行放入.bash_profile
(在您的根目录中):
export PATH=$HOME/bin:$HOME/.gems/bin:$PATH
export GEM_HOME="$HOME/.gems"
export GEM_PATH="$HOME/.gems:/usr/lib/ruby/gems/1.8"
重新连接到您的帐户,然后尝试再次安装滑轨。
更新
我在Bluehost上有一个帐户,并且运行Ruby 1.8.7 + Ruby on Rails 3.2.13。一些文件进入根目录:
.bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export PATH=$HOME/bin:$HOME/.gems/bin:$PATH
unset USERNAME
export GEM_HOME="$HOME/.gems"
export GEM_PATH="$HOME/.gems:/usr/lib/ruby/gems/1.8"
.gemrc
gemhome: /home2/myserv/.gems
gempath:
- /home2/myserv/.gems
- /usr/lib/ruby/gems/1.8
gem: --no-ri --no-rdoc
您应该提供从根目录到主目录的系统路径,而不是
/home2/myserv
。关于ruby - 如何在Bluehost上安装特定版本的Ruby和Rails?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18770590/