4

我最近开始使用 Ruby 1.9.3p385 学习 Rails,我正在尝试用它开发一个小项目。

我使用的是 Linux,所以我使用 RVM 安装了 Ruby。

我按照一些教程开发了几页。我想升级我的项目以使用 Ruby 2.0.0。我需要做什么?

我用 RVM 安装了 Ruby 2.0.0:

rvm install 2.0.0

一切似乎都很好,所以我尝试使用它:

rvm use 2.0.0-p247

但是当我尝试使用 运行我的 Rails 服务器时rails server,我收到以下消息:

bash: rails : command not found

我已经阅读了有关升级 Ruby 的 RVM 文档,但我并不真正了解它的作用;我害怕破坏一切。

它是否会以使用 Ruby 2.0.0 的方式升级我的项目,或者我应该怎么做?

接下来,我还想升级到 Rails v4。

4

4 回答 4

6

您的新 Ruby 版本附带的 gemset 是空的。尝试这个:

gem install bundler # this will install bundler
bundle # this will use bundler to install required gems
rails server
于 2013-08-22T15:01:40.423 回答
2

你跑rvm use 2.0.0-p247了还是用了rvm use 2.0.0-p247 --default?后者会将 Ruby v.2.0 设置为系统的默认值。如果不这样做,您下次登录系统或打开新的终端窗口时,会将您的 Ruby 恢复为 RVM 的默认值。

当 RVM 安装新版本的 Ruby 时,它只安装默认的 gem。它可以将 Ruby 升级到另一个版本,并且可以选择安装现有的 gem,但这不是你要求它做的:rvm install 2.0.0只安装 Ruby。此时,您必须安装所需的其他 gem,其中包括 Rails。

在安装各种版本的 Ruby 和我喜欢的 gem 时,我的一般做法是使用两个命令行管道转储我现有的 gem,然后(重新)安装它们。首先,我切换到我想要复制其 gem 的现有 Ruby,然后运行:

gem list | cut -f1 -d' ' > ~/gem_list

然后我切换到新安装的,运行这个:

xargs gem install < ~/gem_list

这在 RVM 的命令之外完全干净地安装了 gem。

为什么?习惯。基于我过去使用 RVM 的一些“经验”而产生的偏执狂。

一旦这一切完成并且我有了全新的 Ruby 和 gems,我将继续运行 bundler 或其他家务活。

于 2013-08-22T15:15:42.447 回答
1

当您安装新的 ruby​​ 版本时,您必须重新安装该版本的所有 gem。首先安装捆绑器。然后在您的 rails 根目录中运行 bundle。当您没有遇到错误时,您就可以启动 rails 服务器了。祝你好运!

于 2013-08-22T15:01:07.343 回答
-1

在应用程序根目录上运行bundle install,您需要为新版本的 Ruby 重新安装所有依赖项。

于 2013-08-22T15:05:50.397 回答