我正在创建一个引擎,我遇到了一些问题。
我正在读这个manual
我的项目有以下信息:
/var/www/crs
/var/www/crs/myapp
这些是我尝试的步骤:
我运行了此代码:rails plugin new myapp --mountable
我在/var/www/crs/myapp/test/dummy/
我添加了/var/www/crs/config/routes.rb
这一行
mount Myapp::Engine => "/myapp"
我在控制台(/ var / www / crs / myapp / test / dummy /)中运行了此代码:rails s
到目前为止一切顺利。但是,当我在主应用程序(/ var / www / crs / Gemfile)中添加到gem文件时,这一行:
gem 'myapp', path: "myapp"
并执行命令
bundle
我得到了以下错误:
The gemspec at /var/www/crs/myapp/myapp.gemspec is not valid. The validation error was '"FIXME" or "TODO" is not a description'
Could not find gem 'myapp' in source at `myapp`.
Source does not contain any versions of 'myapp'
我不明白这个错误来自哪里,也不知道拥有它的文件在哪里。如何找到问题文件以及如何解决此问题?
答案 0 :(得分:0)
myapp.gemspec
位于引擎的根文件夹中。
在这个文件中你写了一个简短的描述(你的引擎做了什么)和一些dependecies,例如创建gem(或引擎)时,myapp.gemspec
将填充默认值
配置如下所示
Gem::Specification.new do |spec|
spec.name = "myengine"
spec.version = Myengine::VERSION
spec.authors = ["my username"]
spec.email = ["my email"]
spec.summary = %q{ wow great engine }
spec.description = %q{ trust me, its a great engine which is great}
spec.homepage = ""
spec.license = "MIT"
spec.files = `git ls-files -z`.split("\x0")
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.7"
spec.add_development_dependency "rake", "~> 10.0"
end
在那里你找到了TODO和FIXME消息的描述
btw Brandon Hilkert提供了一个关于引擎的非常好的教程(http://brandonhilkert.com/blog/how-to-build-a-rails-engine/)