【问题标题】:RoR Rake - database error about a gemRoR Rake - 关于 gem 的数据库错误
【发布时间】:2011-04-28 23:01:34
【问题描述】:

我正在尝试使用以下命令在我的 ror 应用程序中创建一个数据库:

rake db:create

我得到了这个错误:

Could not find tzinfo-0.3.26 in any of the sources

但是当我执行“gem list”命令时,我发现我有这个 gem 的更新版本:tzinfo (0.3.27)

我可以做些什么来同步我的 gem 以使其更加兼容?这是个常见的问题吗?仅供参考,我正在使用 RVm 来管理我的 gem。

我确实做了一个 rvm install tzinfo-0.3.26 命令并得到了这个输出

jruby-1.6.1-tzinfo - #fetching 
jruby-1.6.1-tzinfo - #extracting jruby-bin-1.6.1 to /home/agenadinik/.rvm/src/jruby-1.6.1-tzinfo
mv: cannot move `/home/agenadinik/.rvm/src/jruby-1.6.1-tzinfo' to a subdirectory of itself, `/home/agenadinik/.rvm/src/jruby-1.6.1-tzinfo/jruby-1.6.1-tzinfo'
jruby-1.6.1-tzinfo - #extracted to /home/agenadinik/.rvm/src/jruby-1.6.1-tzinfo
Building Nailgun
jruby-1.6.1-tzinfo - #installing to /home/agenadinik/.rvm/rubies/jruby-1.6.1-tzinfo
ERROR: Cannot switch to 1.6.2 for this interpreter.
jruby-1.6.1-tzinfo - #importing default gemsets (/home/agenadinik/.rvm/gemsets/)
Copying across included gems
Fetching: jruby-launcher-1.0.7-java.gem (100%)
Building native extensions.  This could take a while...
Successfully installed jruby-launcher-1.0.7-java
1 gem installed

【问题讨论】:

  • 你在使用 Bundler 吗?您可以在 Gemfile.lock 中指定 0.3.26。如果是这样,请尝试运行bundle install
  • @matt 我没有使用过捆绑器。我只是像“捆绑安装”那样输入它吗?它会将 gem 切换到正确的版本吗? bundle 是 gem 还是命令?我应该执行“rvm bunle install”或类似的操作吗?
  • 您使用的是哪个版本的 Ruby on Rails?您是否在 environment.rb 文件或 Gemfile 中定义了 tzinfo gem?
  • @Pan ruby​​ -v 返回 --> jruby 1.6.1 (ruby-1.8.7-p330) (2011-04-12 85838f6) (Java HotSpot(TM) Server VM 1.6.0_24) [linux-i386-java]
  • @Pan environment.rb 文件中没有提及。如何查看 gemfile?那是哪个文件? - 谢谢!

标签: ruby-on-rails ruby gem tzinfo


【解决方案1】:
rvm install tzinfo-0.3.26

如果那是您输入并执行的内容。应该尝试运行

rvm gem install --version '=0.3.26' tzinfo

这将安装 tzinfo 的 0.3.26 版本

你首先告诉 rvm 安装一个 ruby​​ 运行时,而不是一个 gem。

【讨论】:

  • 这行得通,除非您的命令中有错字,等号后有空格。我不能直接编辑它,但我提交它进行编辑。 - 谢谢你的回答。
  • 虽然它仍然没有解决我的错误。此命令:“gem list”仍然列出 .27 版本的 gem。
  • @genadinik 我刚刚修正了错字。当您执行 rvm gem install 命令时,它是否工作没有任何错误?你的系统上 rvm list 的输出是什么? (可能您正在使用系统 ruby​​,在这种情况下 rvm gem install 不会将 gem 安装到系统 ruby​​)。
【解决方案2】:

我的猜测是您在应用程序中明确要求 0.3.26。您可以将要求更改为“~>0.3.26”或使用“gem install tzinfo -v 0.3.26”安装所需的版本。

【讨论】:

  • 我确实做了“rvm install tzinfo-0.3.26”并得到了我要粘贴到我原来的问题中的结果
猜你喜欢
  • 2016-01-15
  • 2014-02-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 2015-10-14
  • 1970-01-01
  • 2014-11-30
  • 2011-10-19
相关资源
最近更新 更多