2016-06-26 37 views
1

我的迈克尔·哈特尔学习与Ruby on Rails的教程Rails的:https://www.railstutorial.org/book失败产生控制器由于捆扎机版本冲突

我用下面的命令来生成一个控制器:

rails generate controller StaticPages home help 

其中关于版本冲突产生以下错误:

check_version_conflict': can't activate bundler-1.12.4, already 
activated bundler-1.13.0.pre.1 (Gem::LoadError) 

我不知道哪个捆绑器版本使用。捆绑的当前版本是:1.13.pre.1


以下命令继续失败自动安装约五gem依赖,其中包括listennokigiri失败所致。

bundle install --without production 

我试着手动安装相关的宝石,但我仍然有问题。

如何在生成Rails控制器时解决check_version_conflict问题?

我会接受一个答案,指示从头开始删除当前的Ruby库并安装新的开发环境。

+0

你有没有尝试重新安装之前卸载捆绑? –

+0

@EddeAlmeida该怎么做? – Rajan

+1

运行'gem uninstall bundler',删除所有版本并安装您的选择之一。 – mudasobwa

回答

1

十步与捆扎机

  1. (可选)卸载Ruby来解决你的问题。有很多方法可以做到这一点,这里有一个:https://superuser.com/questions/194051/how-to-completely-remove-ruby-ruby-gems-on-mac-os-x-10-6-4
  2. (可选)使用rbenv来安装Ruby。按照这里说明:https://github.com/rbenv/rbenv
  3. 做一个回购目录,将容纳你未来的Rails应用程序

在命令行:

mkdir repo 
cd repo 
  • 安装捆扎机并为目录创建一个Gemfile
  • 从命令lin E:

    gem install bundler 
    bundle init 
    
  • 打开repo/Gemfile与你的编辑器,并将其配置为指示捆扎机哪个版本的Rails安装
  • repo/Gemfile

    source "https://rubygems.org"         
    
    gem "rails", "4.2.6" 
    
    1. 通过Bundler安装Rails

    从命令行:

    bundle install 
    
  • 创建使用捆扎机一个新的Rails应用程序,并cd到它
  • 从命令行:

    bundle exec rails new whatevs 
    cd whatevs 
    
    1. 默认情况下,您的Rails应用程序将具有Gemfile。打开它并添加您希望在您的应用中使用的宝石。

    repo/whatevs/Gemfile

    gem 'nokogiri', '1.6.8' 
    
  • repo/whatevs/目录,经由捆扎机
  • 安装应用的宝石从命令行:

    bundle install 
    
  • repo/whatevs/目录,生成一个控制器
  • 在命令行:

    bundle exec rails generate controller static_pages home help 
    
    +1

    谢谢兄弟! 确实Awesom的步骤,现在我更加意识到Rails和Bundler它变成一个正常的事情。 所以基本上我第一次使用这个包(从来没有exec bundle安装过),因此大多数的gem都没有安装。 我刚刚接触rails,现在提到的每一个未安装的gem都会在“bundle install”中抛出错误,这需要您安装并重新运行bundle(错误基本上是指需要安装gem而不是大不了)恐慌发作。 – Rajan

    2

    Bundler将安装项目特定版本的宝石,以便您不必管理全局依赖项。

    实际上,如果您使用捆绑软件安装Rails,并且您还使用sudo gem install rails或其他类似软件安装它,则计算机上将有两个版本。默认情况下,调用rails将引用全局版本。

    如果您致电bundle exec rails(或bundle exec <gem_name>),它将调用捆绑软件特定的版本。

    +0

    错误状态它是捆绑软件版本conflit, 我已经删除了捆绑软件的一个版本。 你知道我们如何删除所有设置以重新开始吗? (删除所有的轨道和东西开始设置它从开始)因为它是在一开始只是想确保我有正确的设置前去远远 – Rajan

    +0

    我认为你只是'宝石卸载铁轨“和类似的东西。删除并重新安装捆绑器后,东西仍然不工作? –

    相关问题