【问题标题】:There was an error while trying to load the gem 'ahoy_matey'尝试加载 gem 'ahoy_matey' 时出错
【发布时间】:2016-08-29 00:34:51
【问题描述】:

我实际上不是一个 ruby​​ 开发人员,我只是想从一个项目中设置开发环境,我在按顺序获取 gems 以便加载服务器时遇到了麻烦。我主要做前端工作。无论如何,我的错误是:

There was an error while trying to load the gem 'ahoy_matey'.
Gem Load Error is: undefined method `hours' for 4:Fixnum

过去两天我一直在搜索谷歌,但找不到任何人使用“ahoy_matey”gem 遇到此问题。我在尝试启动服务器或 rake 迁移时收到此错误。

Ruby 1.9.3

Rails 3.2.13

mysql2 0.3.17

感谢任何帮助。

完整的跟踪:

Bundler::GemRequireError:尝试加载 gem 'ahoy_matey' 时出错。 Gem 加载错误是:未定义的方法 `hours' for 4:Fixnum gem 加载错误的回溯是: /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/ahoy_matey-1.1.0/lib/ahoy.rb:43:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/ahoy_matey-1.1.0/lib/ahoy.rb:39:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/ahoy_matey-1.1.0/lib/ahoy_matey.rb:1:in `require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/ahoy_matey-1.1.0/lib/ahoy_matey.rb:1:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:86:in `require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:86:in `block (2 levels) in require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:81:in `each' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:81:in `block in require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:70:in `each' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:70:in `require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler.rb:102:in `require' /home/sirtastic/projects/dataraptor/config/application.rb:7:in `' /home/sirtastic/projects/dataraptor/Rakefile:5:in `require' /home/sirtastic/projects/dataraptor/Rakefile:5:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/rake_module.rb:28:in `load' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/rake_module.rb:28:in `load_rakefile' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:689:in `raw_load_rakefile' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:94:in `block in load_rakefile' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:176:in `standard_exception_handling' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:93:in `load_rakefile' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:77:in `block in run' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:176:in `standard_exception_handling' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/lib/rake/application.rb:75:in `run' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/rake-11.1.2/bin/rake:33:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/bin/rake:23:in `load' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/bin/rake:23:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/bin/ruby_executable_hooks:15:in `eval' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/bin/ruby_executable_hooks:15:in `' 捆绑器错误回溯: /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:90:in `rescue in block (2 levels) in require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:85:in `block (2 levels) in require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:81:in `each' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:81:in `block in require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:70:in `each' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler/runtime.rb:70:in `require' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/gems/bundler-1.12.1/lib/bundler.rb:102:in `require' /home/sirtastic/projects/dataraptor/config/application.rb:7:in `' /home/sirtastic/projects/dataraptor/Rakefile:5:in `require' /home/sirtastic/projects/dataraptor/Rakefile:5:in `' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/bin/ruby_executable_hooks:15:in `eval' /home/sirtastic/.rvm/gems/ruby-1.9.3-p551@dr/bin/ruby_executable_hooks:15:in `' (通过使用 --trace 运行任务查看完整跟踪) 来源“http://rubygems.org” 宝石'导轨','3.2.13' gem 'mysql2'#, '~> 0.3.11' gem 'sass-rails', '~> 3.2.3' # 因为 SCSS 是为嵌入式引用器编译的 # 宝石仅用于资产,不是必需的 # 默认在生产环境中。 组:资产做 宝石'咖啡轨','〜> 3.2.1' # 有关更多支持的运行时,请参阅 https://github.com/sstephenson/execjs#readme gem 'therubyracer', :platforms => :ruby gem 'execjs', :platforms => :ruby gem 'uglifier', '>= 1.0.3' 结尾 宝石'jquery-rails','〜> 3.0.4' gem 'jquery-ui-rails', '~> 4.0.5' 宝石'jquery_datepicker' 组:生产做 宝石“撬”,要求:假 结尾 组:开发,:测试做 宝石'水豚', :require => false gem 'database_cleaner', :require => false # 用于水豚测试 gem 'factory_girl', '~> 4.1' # 用于生成测试模型 宝石'factory_girl_rails',要求:假 gem 'forgery' # 用于生成测试数据 宝石“撬” 宝石'pry_debug' 宝石“撬导航” gem 'spork-rails', platform: [:mswin, :mingw] # Windows 上的快速 rpsec 测试 #### 不要只是将宝石添加到此列表的末尾!拼音! ### 结尾 组:开发做 gem 'thin' # 健全的开发服务器 gem 'bullet' # 用于识别区域以加快数据库查询 gem 'meta_request' # 用于 chrome rails-panel 宝石“机架迷你分析器”,要求:假 #### 不要只是将宝石添加到此列表的末尾!拼音! ### 结尾 组:测试做 gem 'launchy', :require => false 宝石'rspec-rails' gem "selenium-webdriver", "~> 2.40.0" # 用于 AJAX 测试 gem '应该', :require => false gem 'simplecov', :require => false # 测试覆盖率 宝石“时间警察” gem 'vcr', '~> 2.9.3'#'~> 2.5.0' gem "webmock", '~> 1.10.2' #### 不要只是将宝石添加到此列表的末尾!拼音! ### 结尾 组 :dev, :release, :development 做 宝石“更好的错误” gem 'binding_of_caller' # 通过在发生错误时在浏览器中提供 IDE 来支持更好的错误 结尾 宝石'activeuuid','> = 0.5.0' gem 'ahoy_matey', '1.1.0' #需要这个确切的版本才能一致地输出 UUID。之后的下一个版本没有。 gem 'american_date' # 默认情况下,日期被解析/格式化为美式风格 gem 'angularjs-rails', '~> 1.0.7' gem 'attr_encrypted', '~> 1.2' # 加密 db 中的 activerecord 属性 gem 'authlogic', '~> 3.2' # 用户登录 宝石'aws-sdk' gem 'capistrano', require: false# 应用程序部署 宝石'capistrano-ext',要求:假 gem 'carrierwave' # 文件上传解决方案 gem 'daemons' # 用于运行延迟作业 gem 'encryptor', '~> 1.1' # 处理 ActiveRecord 字段的加密 gem 'exception_notification', '~> 4.0.0' gem 'faraday' # 用于与外部 API 交互的 REST 客户端 宝石“法拉第中间件” gem 'fog', '~> 1.22' # 用于 Amazon Web Services 云存储 gem 'formatador', '~> 0.2' # 不需要在这里。它是/曾经是雾核心的依赖项,但它没有被捆绑(出于某种原因),因此获取 assets:precompile 始终失败。 2014-09-17。 gem 'haml', '~> 4.0.3' gem '假期', '~> 2.1.0' gem 'httpi', '~> 2.2.7' gem 'json', '~> 1.8.1' # 指定以便“安全地”为条带 gem 进行更新 (2014-05-21) gem 'liquid', '~> 2.5.0' # 渲染模板,例如 Marketing::Email::Template gem 'mini_magick' # 照片调整大小 宝石'momentjs-rails' 宝石'multi_xml' gem 'paperclip', '~> 3.5.0' # 处理文件附件到 activerecord 宝石“贝宝重复” 宝石'nested_form' gem 'rails3-jquery-autocomplete'# 支持自动完成字段 gem 'redis' # 用于发布 gem 'remotipart', '~> 1.0' # 通过 ajax 启用多部分表单提交 gem 'ruby-saml', '~> 1.0.0' gem 'rvm-capistrano', require: false # 用于部署到多个 rubies 可用的服务器 gem 'safe_attributes' # 处理带有 ActiveRecord 的属性名称冲突(我们使用 'delay') gem 'savon', '~> 2.7' gem "select2-rails" # 制作一个自动完成的选择框,兼容 x-editable gem 'sidekiq', '~> 2.17.0' # 处理后台/延迟作业 宝石“电子表格”,要求:假 gem "条纹", '~> 1.11.0' gem 'tinymce-rails', '>= 4.0.8' # 4.0.8 版包含重要的错误修复 gem 'transaction_retry' # 捕获 mysql 死锁并重试 gem 'tzip', '~> 0.0.4' # 按邮政编码查找时区 gem 'whenever', require: false # 处理计划任务 gem 'wicked_pdf' # 从 html 创建 pdf(是 wkhtmltopdf 的包装器) gem 'will_paginate', '~> 3.0' # 为 activerecord 的索引页分页 gem 'wkhtmltopdf-binary' # 使用 QT Webkit 渲染引擎从 html 创建 pdf 的后端 linux 工具 #### 不要只是将宝石添加到此列表的末尾!拼音! ###

【问题讨论】:

  • 可能缺少activesupport gem...您可以添加您的Gemfile 和config/application.rb 吗?
  • 我安装了 gem activesupport (3.2.13).. 为你处理 gemlist
  • 将宝石列表添加到原始帖子中。无法发布 application.rb,可能是敏感信息?
  • 明确地说,您在使用 rails serverrails console 之类的内容启动应用程序时遇到错误?
  • Rails 服务器通过'rails s'

标签: ruby-on-rails rubygems


【解决方案1】:

看起来你可能在需要 rails 之前需要你的 bundle。如果您的 application.rb 文件中有这两行,则它们需要按以下顺序排列:

require 'rails/all'

Bundler.require(:default, Rails.env)

【讨论】:

  • 我需要第 3 行的 rails/all 和第 7 行之后的捆绑器。尽管感谢您的输入,但不要认为这是问题!
【解决方案2】:

所以我看到你正在运行rails s。我知道这个问题很老,但也许这可能对其他人有所帮助。所以你要运行的命令是:

bundle exec rails s

bundle exec 在包的上下文中执行命令。

此命令执行命令,使Gemfile 中指定的所有gem 可用于Rails 中的require

基本上,如果您通常会运行rspec spec/my_spec.rb 之类的东西,并且您想使用Gemfile 中指定并通过bundle install 安装的gem,您应该运行bundle exec rspec spec/my_spec.rb

请注意,bundle exec 并不要求您的 shell 的 $PATH 上有可用的可执行文件。

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 2016-03-20
    相关资源
    最近更新 更多