【发布时间】:2012-07-24 20:15:11
【问题描述】:
在我的系统 (OS X) 上,我有一个在 Rails 3.1.0、ruby 1.8.7 上运行的应用程序。
我安装了 Vagrant 并使用 Ubuntu 虚拟机进行设置。我在虚拟机中创建了一个新项目 ABC,并在虚拟机上安装了 ruby 1.9.3 和 Rails 3.2.6。
现在,当我退出 Vagrant 虚拟机并想再次从 ABC 项目目录 ssh 进入它时,它遇到了 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,而不是只运行虚拟机?
有没有人经历过这样的事情?
【问题讨论】:
-
因此,显然,从来宾系统上的项目文件夹中运行
bundle install可以解决此问题。然而,意识到 vagrant 本身就是一个 gem 仍然不能回答我的问题,因为我在一个项目上独立安装了 gem。有什么提示吗?
标签: ruby-on-rails virtual-machine conflict vagrant gemfile