RoR - 如何删除Rails 4.1.1版本?

时间:2014-05-19 22:46:50

标签: ruby-on-rails ruby

我是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的一部分安装的。不幸的是,在创建一个新的应用程序后,它在捆绑安装上停止了并且没有继续多次。然后我尝试删除所有宝石,以便从头开始安装所有内容。我这样做了:

ruby​​ -e" gem list。split(/ $ /)。每个{| line |除非line.strip.empty,否则放gem uninstall -Iax #{line.split(' ')[0]}? }"

我也在这里找到了。它确实删除了宝石,之后我卸载了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然后我收到了一个错误:找不到有效的宝石' 4.0.5'。

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

2 个答案:

答案 0 :(得分:2)

首先找到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版本控制目录等。

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

立即验证4.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

验证rails 4.1.1不在您的Gemfile中,也不是锁定:

grep 4.1.1 Gemfile Gemfile.lock

答案 1 :(得分:0)

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

-

你试过这个:

  

Gemfile中,确保引用了正确版本的Rails -
  gem 'rails', '3.2.0'

     

在您的app目录中 - bundle install

-

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