Vagrant和客人的Gemfile冲突

时间:2012-07-26 09:10:43

标签: ruby-on-rails virtual-machine conflict vagrant gemfile

在我的系统(OS X)上,我有一个在Rails 3.1.0上运行的应用程序,ruby 1.8.7。

我安装了Vagrant并使用Ubuntu虚拟设置它。我在虚拟机中创建了一个新项目ABC,并在虚拟机上安装了ruby 1.9.3和Rails 3.2.6。

现在,当我退出Vagrant虚拟机并希望再次进入它时,从ABC项目目录中,它很难解决ABC项目的Gemfile中的冲突:

~/.rvm/gems/ruby-1.8.7-p358@global/gems/bundler-1.1.4/lib/bundler/spec_set.rb:90:in 'materialize': Could not find actionmailer-3.2.6 in any of the sources (Bundler::GemNotFound)

当我从ABC项目的目录中删除Gemfile时,我可以毫无问题地使用Vagrant。

为什么Vagrant检查项目的Gemfile,而不仅仅是运行虚拟机?

以前有人经历过这样的事情吗?

2 个答案:

答案 0 :(得分:1)

Vagrant使用Gemfile插件。 请参阅插件https://docs.vagrantup.com/v2/plugins/packaging.html的文档。

所以流浪者认为你的铁轨宝石是流浪汉的插件并失败。

答案 1 :(得分:0)

我当前的设置使用与rails目录分离的Vagrantfile。

在我开始使用Puppet配置脚本,各种bash脚本,rails之外的项目文档文件夹等之后,我最终得到了这些设置。

让rails app尽可能干净并且不会使用本地开发工具文件(Vagrantfile)中毒它更有意义。

这个问题仍然有效。我不确定这是否符合关于github的问题报告...