Rails -v 在 Mac OSX 上说错误的 Rails 版本

Jor*_*dan 3 ruby macos terminal ruby-on-rails version

我一直在尝试卸载 rails,因为它在 4.1.0.rc1 上,我想要 4.0.0,所以我跑了

gem uninstall rails -v 4.1.0.rc1
Run Code Online (Sandbox Code Playgroud)

它说它已成功卸载但键入

rails -v
Run Code Online (Sandbox Code Playgroud)

仍然给我 4.1.0.rc1

我试过跑步

gem cleanup
Run Code Online (Sandbox Code Playgroud)

但它仍然给了我错误的版本,我已经退出了终端并重新打开了所有内容,但仍然得到错误的版本。

我只是想确保我使用的是正确的版本并且一切运行顺利。我最近才开始接触 ruby​​ 并学习如何在终端中安装东西(我是最近的 mac 转换者),所以所有这些东西都让我感到困惑。

And*_*tad 5

查看项目中的 gemfile。

应该有这条​​线

gem 'rails', '4.0.0'
Run Code Online (Sandbox Code Playgroud)

转到您的项目目录

并运行

rails -v
Run Code Online (Sandbox Code Playgroud)

这应该返回

Rails 4.0.0
Run Code Online (Sandbox Code Playgroud)

如果您在任何 rails 文件夹外执行 rails -v ,它会显示您拥有的最新版本。但是,在 rails 项目文件夹中,它使用 gem 文件中定义的版本。

当您创建一个新的 Rails 项目时,您可以运行

rails _<*version*>_ new <application_name>
Run Code Online (Sandbox Code Playgroud)

在 4.0.0 的情况下

rails _4.0.0_ new myapp 
Run Code Online (Sandbox Code Playgroud)

这将返回您拥有的 rails 版本

gem list | grep rails
Run Code Online (Sandbox Code Playgroud)

如果这返回

rails (4.0.3, 4.0.0, 3.2.12)
Run Code Online (Sandbox Code Playgroud)

然后你跑

gem uninstall railties -v 4.0.3
Run Code Online (Sandbox Code Playgroud)

你回到全局系统上的rails 4.0.0。但同样在每个 rails 项目中,您都处于 gemfile 中指定的任何版本。