我正在尝试使用以下链接创建rails引擎: http://guides.rubyonrails.org/engines.html
我收到以下错误
您有一个或多个需要修复的无效gemspec。 /home/shariq/Documents/plugin/blorgh/blorgh.gemspec中的gemspec无效。请修复此gemspec。
验证错误为'"FIXME" or "TODO" is not a description'
我已经尝试过捆绑更新和捆绑安装
这是我的所有工作
日志shariq@SDEV-MACHINE:~/Documents/plugin$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
shariq@SDEV-MACHINE:~/Documents/plugin$ rails -v
Rails 5.0.0.1
shariq@SDEV-MACHINE:~/Documents/plugin$ mysql --version
mysql Ver 14.14 Distrib 5.7.15, for Linux (x86_64) using EditLine wrapper
shariq@SDEV-MACHINE:~/Documents/plugin$ rails plugin new blorgh --mountable -d mysql
create
create README.md
create Rakefile
create blorgh.gemspec
create MIT-LICENSE
create .gitignore
create Gemfile
create app
create app/controllers/blorgh/application_controller.rb
create app/helpers/blorgh/application_helper.rb
create app/jobs/blorgh/application_job.rb
create app/mailers/blorgh/application_mailer.rb
create app/models/blorgh/application_record.rb
create app/views/layouts/blorgh/application.html.erb
create app/assets/images/blorgh
create app/assets/images/blorgh/.keep
create config/routes.rb
create lib/blorgh.rb
create lib/tasks/blorgh_tasks.rake
create lib/blorgh/version.rb
create lib/blorgh/engine.rb
create app/assets/config/blorgh_manifest.js
create app/assets/stylesheets/blorgh/application.css
create app/assets/javascripts/blorgh/application.js
create bin/rails
create test/test_helper.rb
create test/blorgh_test.rb
append Rakefile
create test/integration/navigation_test.rb
vendor_app test/dummy
run bundle install
You have one or more invalid gemspecs that need to be fixed.
The gemspec at /home/shariq/Documents/plugin/blorgh/blorgh.gemspec is not valid. Please fix this gemspec.
The validation error was '"FIXME" or "TODO" is not a description'
shariq@SDEV-MACHINE:~/Documents/plugin$
这是gemspec文件:
##### log #######
$:.push File.expand_path("../lib", __FILE__)
require "blorgh/version"
Gem::Specification.new do |s|
s.name = "blorgh"
s.version = Blorgh::VERSION
s.authors = ["Shariq"]
s.email = ["gr8shariq@live.com"]
s.homepage = "TODO"
s.summary = "TODO: Summary of Blorgh."
s.description = "TODO: Description of Blorgh."
s.license = "MIT"
s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]
s.add_dependency "rails", "~> 5.0.0", ">= 5.0.0.1"
end
答案 0 :(得分:3)
错误不言自明。你必须更换" TODO" gemspec中的字符串与一些"实际"描述。
答案 1 :(得分:1)
rails repository中已经关闭了问题#26474
:
rails plugin new
does not complete properly since bundler 1.12
Ruby on Rails成员 vipulnsward 说:
我们现在不捆绑安装 - fbd1e98
反过来,fbd1e98
提交描述说:
生成新插件时不要运行
bundle install
。从bundler 1.12.0开始,gemspec被验证,因此
bundle install
命令将在创建gem之后失败,从而导致混淆 用户。此更改是一个错误修复,可以正确验证gemspecs。
添加选项-B
以跳过bundle install
:
rails plugin new NAME -B
当然,如果您需要运行捆绑程序,只需从TODO
中删除FIXME
和.gemspec
的每一个匹配项,然后运行bundle install
。
有关详细信息,请查看帮助消息:rails plugin new --help
答案 2 :(得分:0)
我今天遇到了这个问题。这就是我所做的(git diff)使我得以生存。
@@ -9,15 +9,15 @@ Gem::Specification.new do |spec|
spec.version = Blorgh::VERSION
spec.authors = ["Torvalds Du"]
spec.email = ["torvalds@ekohe.com"]
- spec.homepage = "TODO"
- spec.summary = "TODO: Summary of Blorgh."
- spec.description = "TODO: Description of Blorgh."
+ spec.homepage = ""
+ spec.summary = "Summary of Blorgh."
+ spec.description = "Description of Blorgh."
spec.license = "MIT"
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
# to allow pushing to a single host or delete this section to allow pushing to any host.
if spec.respond_to?(:metadata)
- spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
+ spec.metadata["allowed_push_host"] = "http://mygemserver.com"
else
raise "RubyGems 2.0 or newer is required to protect against " \
"public gem pushes."
因此,您必须从TODO
中删除所有文本gem_name.gemspec
。
祝你好运。