我通过AWS拥有登台和制作服务器。在一段时间之后(我认为是在我将ruby版本升级到2.1之后),我的登台/生产服务器找不到rails所以我不得不ssh并重新下载Rails和Ruby,但现在当我运行“rails”时 - v“它给了我2.3.14,但是当我运行”bundle exec rails -v“时,我得到了正确的3.2.16。
我猜这是因为路径,但不完全确定如何解决这个问题。我发现的一些答案建议更改.bashrc并更改$ PATH变量,但不确定要将其更改为什么。
这是我的.bashrc:
#PATH=$PATH:$HOME/.rvm/bin # how it was before
PATH = $PATH:$HOME/.rvm/gems/ruby-2.1.0/bin #edited this just now to see if it works. it didnt..
答案 0 :(得分:1)
bundle exec rails
将使用您Gemfile
中定义的rails版本。另一方面,简单的rails
将运行您计算机上可用的最新版本。
可能发生的事情是:
你有一个来自rvm的rails版本与你Gemfile
(3.2.16)中使用的版本相同,所以你没有注意到任何差异。升级ruby后,您必须重新安装在先前版本上安装的所有gem。否则它将回退到最新的可用的,它可以是系统版本(即不是来自rvm)。这可以解释为什么你有这样一个过时的。
请注意,正确的bundle install
会安装Gemfile
中所需的所有宝石,然后为您完成工作。