2

我正在尝试发布 Rails 3.1(从 3.0 升级)应用程序。提交代码后我运行

bundle install --path vendor/gems RAILS_ENV=production

有效。我有一个目录vendor/gems/ruby/1.9.1, bin, cache,doc和位于gems其中。specifications但是,当我运行 rake 任务时,出现错误:

$ rake db:migrate RAILS_ENV=production
Could not find authlogic-3.0.3 in any of the sources
Run `bundle install` to install missing gems.

这不是问题authlogic,它在gemsspecifications目录中,并且annotate在我从gemfile中删除它之前在错误中提到了它。

有什么问题?

我正在使用 Ubuntu 10.10、Ruby 1.9.2p0、Rails 3.1 和 Rake 0.9.2。代码由 capistrano 部署,vendor目录放置在shared文件夹中并在版本中链接。

4

1 回答 1

3

如果您想使用项目的 gems,那么您应该使用bundle exec命令,例如,

bundle exec rake db:create

还需要 gem 文件中的 authlogic gem。

gem 'authlogic'

首先从 vendor/ 文件夹中删除整个 gems 目录。你应该使用这个:

bundle install --path=vendor/gems

无需指定环境。

于 2011-09-14T11:09:11.363 回答