2016-04-26 69 views
1

我正在創建引擎,並且存在一些問題。在軌道上使用紅寶石創建引擎

我真的讀這manual

和我的項目具有以下信息:

  • 路徑到我的主要應用:/var/www/crs
  • 路徑,我的引擎,MYAPP:/var/www/crs/myapp

這些是我嘗試的步驟:

  1. 我跑這個代碼:rails plugin new myapp --mountable

  2. /var/www/crs/myapp/test/dummy/

  3. 我加入/var/www/crs/config/routes.rbmount Myapp::Engine => "/myapp"

  4. 我在控制檯運行創建的資源(在/ var/WWW/crs/myapp/test/dummy /)此代碼:rails s

到目前爲止好。然而,當我加入到主應用程序的寶石文件(在/ var/WWW/CRS/Gemfile中)這一行:

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

您是否嘗試過正確地填寫'gemspec'? – Jon

回答

0

myapp.gemspec位於引擎的根文件夾中。

在這個文件中,你寫了一個簡短的描述(你的引擎是幹什麼的)和一些依賴關係,例如該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布蘭登希爾克特提供了一個關於引擎的非常好的教程(http://brandonhilkert.com/blog/how-to-build-a-rails-engine/