我是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 | put gem uninstall -Iax#{line.split(”)[0]}除非line.strip.empty?}”
我也在这里找到了.它确实删除了宝石,之后我卸载了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.提前致谢!
最佳答案 首先找到rails gem目录.
有很多方法可以做到这一点,比如查看你的GEM_HOME和GEM_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