在我的系统(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,而不仅仅是运行虚拟机?
以前有人经历过这样的事情吗?
答案 0 :(得分:1)
Vagrant使用Gemfile插件。 请参阅插件https://docs.vagrantup.com/v2/plugins/packaging.html的文档。
所以流浪者认为你的铁轨宝石是流浪汉的插件并失败。
答案 1 :(得分:0)
我当前的设置使用与rails目录分离的Vagrantfile。
在我开始使用Puppet配置脚本,各种bash脚本,rails之外的项目文档文件夹等之后,我最终得到了这些设置。
让rails app尽可能干净并且不会使用本地开发工具文件(Vagrantfile)中毒它更有意义。
这个问题仍然有效。我不确定这是否符合关于github的问题报告...