所以我正在使用 RVM 并将其设置为使用 Ruby 1.9.3。我下载了一个教程应用程序,但是在我运行 bundle 和“which ruby”之后,我的机器显示我正在将 Ruby 1.8.7 用于所有其他项目。
这可能吗?bundle 实际上在做什么?
它不应该只为那个项目使用 1.8.7 吗?
如何使教程切换到使用 1.9.3 并使其不捆绑 1.8.7?
所以我正在使用 RVM 并将其设置为使用 Ruby 1.9.3。我下载了一个教程应用程序,但是在我运行 bundle 和“which ruby”之后,我的机器显示我正在将 Ruby 1.8.7 用于所有其他项目。
这可能吗?bundle 实际上在做什么?
它不应该只为那个项目使用 1.8.7 吗?
如何使教程切换到使用 1.9.3 并使其不捆绑 1.8.7?
避免版本切换的最佳方法是使用 .rvmrc,您可以在应用程序的根目录中创建一个 .rvmrc 文件。RVM 识别目录中的 .rvmrc 文件并加载其中指定的 gemset。以下是使用 ruby 1.9.3 为 rails 3.1 创建 .rvmrc 的示例
echo "rvm ruby193@rails31" > .rvmrc
使用 .rvmrc 文件意味着当您在本地计算机上运行应用程序时,您将自动使用正确的 Rails 和 gem 版本。如果您专门为您的应用程序创建一个 rvm gemset,这将最有效。
Bundler只会帮助您管理您的宝石。ruby 版本由 RVM 控制。好像你的 rvm 没有正确安装。检查您的 shell 使用的 ruby 是否是由 rvm 管理的。$ which ruby
应该返回类似/home/alexandre/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
RVM 安装相当复杂。我建议你检查你的。