RefineryCMS Engines错误:没有有效的gemspec

时间:2013-12-12 19:10:46

标签: ruby-on-rails ruby validation gem refinerycms

我无法安装任何引擎。从指南安装第一个事件引擎后,我收到一条错误消息,说我没有有效的宝石规格。

  

Using refinerycms-events (1.0) from source at vendor/extensions refinerycms-events at /Users/lydia/Desktop/projects/cmsex/vendor/extensions/events did not have a valid gemspec. This prevents bundler from installing bins or native extensions, but that may not affect its functionality. The validation message from Rubygems was: authors may not be empty

现在,每当我尝试安装另一个引擎时,命令行说安装已成功,但我无法在bundle show上找到该gem。我无法生成插件和数据库。

我已将这些行添加到我的Gemfile中:

gem'siterycms-blog','〜> 2.1.0'

宝石'refinerycms-search','〜> 2.1.0'

这是我的宝石中包含的宝石:

    Gems included by the bundle:
  * actionmailer (3.2.16)
  * actionpack (3.2.16)
  * activemodel (3.2.16)
  * activerecord (3.2.16)
  * activeresource (3.2.16)
  * activesupport (3.2.16)
  * acts_as_indexed (0.8.3)
  * arel (3.0.3)
  * awesome_nested_set (2.1.6)
  * babosa (0.3.11)
  * bcrypt-ruby (3.1.2)
  * builder (3.0.4)
  * bundler (1.3.5)
  * coffee-rails (3.2.2)
  * coffee-script (2.2.0)
  * coffee-script-source (1.6.3)
  * decorators (1.0.3)
  * devise (2.2.8)
  * dragonfly (0.9.15)
  * erubis (2.7.0)
  * execjs (2.0.2)
  * friendly_id (4.0.10.1)
  * globalize (3.0.2)
  * hike (1.2.3)
  * i18n (0.6.9)
  * journey (1.0.4)
  * jquery-rails (2.3.0)
  * json (1.8.1)
  * mail (2.5.4)
  * mime-types (1.25.1)
  * multi_json (1.8.2)
  * orm_adapter (0.5.0)
  * paper_trail (2.7.2)
  * polyglot (0.3.3)
  * rack (1.4.5)
  * rack-cache (1.2)
  * rack-ssl (1.3.3)
  * rack-test (0.6.2)
  * rails (3.2.16)
  * rails-i18n (0.7.4)
  * railties (3.2.16)
  * rake (10.1.0)
  * rdoc (3.12.2)
  * refinerycms (2.1.1)
  * refinerycms-acts-as-indexed (1.0.0)
  * refinerycms-authentication (2.1.1)
  * refinerycms-core (2.1.1)
  * refinerycms-dashboard (2.1.1)
  * refinerycms-events (1.0)
  * refinerycms-i18n (2.1.0)
  * refinerycms-images (2.1.1)
  * refinerycms-pages (2.1.1)
  * refinerycms-resources (2.1.1)
  * routing-filter (0.3.1)
  * sass (3.2.12)
  * sass-rails (3.2.6)
  * seo_meta (1.4.0)
  * sprockets (2.2.2)
  * sqlite3 (1.3.8)
  * thor (0.18.1)
  * tilt (1.4.1)
  * treetop (1.4.15)
  * truncate_html (0.9.2)
  * tzinfo (0.3.38)
  * uglifier (2.3.2)
  * warden (1.2.3)
  * will_paginate (3.0.5)

当我尝试生成插件时,我明白了:

$ rails generate refinery:search
Could not find generator refinery:search.

我个人认为这是因为没有有效的宝石规格。但我怎么知道哈哈。在使用博客和搜索gem编辑Gemfile后进行“$ bundle install”时,确实说它们已成功安装。但是它们没有安装,之后我什么也做不了,比如创建插件和数据库。

非常感谢你的帮助,我希望你能结束我的痛苦!

1 个答案:

答案 0 :(得分:15)

我发现RefineryCMS引擎脚手架默认会创建一个无效的gemspec,你必须在编辑它之前将其命名包含在authors字段中。

这样的事情:

Gem::Specification.new do |s|
  ...
  s.author            = 'Your Name Here'
  ...

  # Runtime dependencies
  s.add_dependency             'refinerycms-core',    '~> 2.1.0'

  # Development dependencies (usually used for testing)
  s.add_development_dependency 'refinerycms-testing', '~> 2.1.0'
end

或者,甚至更好......

s.authors = [ 'Your Name Here' ]

因为这是当前推荐的语法(虽然两者仍然有效)。