RoR – 如何删除Rails 4.1.1版本?

我是RoR的新手,我试图遵循Micheal Hartl的Ruby on Rails教程。 在开始本教程之前,我已经设置了所有内容,并将Rails版本更新为4.1.1,一切运行良好,直到教程中我需要有最大4.0.5版本的Rails以继续该示例。 为了做到这一点,我尝试了几件事。 首先我跑:

gem uninstall rails 

之后我收到了它已卸载的消息但是在运行rails -v时我仍然有4.1.1。 然后,在stackoverflow上的一个答案后,卸载railties,我做了:

 gem uninstall railties 4.1.1 

之后运行时:rails -v我收到一条消息,版本3.2.18正在运行,这是我作为railsinstaller的一部分安装的那个。 不幸的是,在创建一个新的应用程序后,它在捆绑安装上停止了几次并没有继续。 然后我尝试删除所有gem,以便从头开始安装所有内容。 我做到了:

ruby -e“ gem list .split(/ $ /)。每个{| line | puts gem uninstall -Iax #{line.split(' ')[0]}除非line.strip.empty?}”

我也在这里找到了。 它确实删除了gem,之后我卸载了Ruby。 然后我用rails Rails版本3.2.18再次安装了所有东西。 当它完成并且我打开cmd时,在Rails版本下的Rails环境配置中,我可以再次看到版本4.1.1。 当我跑:

 gem uninstall rails 

它卸载了3.2.18版本,正确的版本。 我再次安装了所有内容,希望安装正确的版本并且显示4.1.1是一个小错误,但是在创建新应用程序时,bundler安装仍然无法正常工作。 现在,经过几次尝试,我试图保持原样,除了尝试安装4.0.5版本之外,不要卸载任何东西。 首先它安装了轨道和轨道4.1.1,然后我收到一个错误:找不到有效的gem’4.0.5’。

我检查了几个问题和答案,试图整天设置它,但它没有成功。 我试着写详细信息,这样你就可以更好地理解,因为有类似的问题,但没有针对我遇到的完全相同的问题。 无论我做了什么,我完成了许多版本4.1.1仍然在文件夹中的gem。 我希望有人知道该怎么做,以及如何删除以前的版本forevr。 提前致谢!

首先找到rails gem目录。

有很多方法可以做到这一点,比如查看你的GEM_HOMEGEM_PATH

 echo $GEM_HOME echo $GEM_PATH 

这是一种蛮力的方式:

 find / -type d -name rails-4.1.1 

这可能会找到多个目录,例如系统的gem目录,缓存,docs,bundler目录,RVM或chruby的ruby版本控制目录等。

如果您是系统的唯一用户,请删除所有这些用户。

立即validation4.1.1已消失:

 # Show the executable, if any which rails # Show the version, which should not say 4.1.1 rails --version # If you're within a bundle directory bundle exec rails --version 

不要捆绑。

编辑你的Gemfile,也可能要求Rails 4.1.1,并设置你想要的确切Rails版本:

 gem 'rails', '= 4.0.5' 

现在捆绑:

 bundle update 

validationrails 4.1.1不在您的Gemfile中,也不是锁定:

 grep 4.1.1 Gemfile Gemfile.lock 

如果您正在使用bundler (强烈推荐),您应该能够为不同的应用程序使用不同版本的gem

你试过这个:

在你的Gemfile ,确保你引用了正确版本的Rails –
gem 'rails', '3.2.0'

在您的app目录中 – bundle install

这将使用bundler为您的应用安装相应的gems,可以根据需要进行更改