1

我刚刚开始使用 Ruby Motion (v 1.9),但在我的项目中包含 BubbleWrap (v 0.2.1) 时遇到了一些麻烦。

我的 Rakefile 看起来像:

$:.unshift("/Library/RubyMotion/lib")
require 'motion/project'
require 'rubygems'
require 'bubble-wrap'

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = "Hello"
  app.device_family = :ipad #[:ipad,:iphone]

  app.files += Dir.glob(File.join(app.project_dir, 'vendor/BubbleWrap/lib/**/*.rb'))
end

我也尝试过使用

需要“泡沫包装”

但我一直收到一个看起来像这样的错误:

ERROR! Can't resolve dependency `/Library/Ruby/Gems/1.8/gems/bubble-wrap
0.2.1/lib/pollute.rb' because ./Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/pollute.rb 
is not in ["./app/app_delegate.rb", 
"./app/login_controller.rb", "/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/app.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/gestures.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/http.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/json.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/kernel.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/ns_index_path.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/ns_notification_center.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/ns_user_defaults.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/ui_button.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/ui_view_controller.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap/version.rb", 
"/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/pollute.rb"]

较新版本的 RubyMotion 不能与 BubbleWrap 一起使用吗?

4

1 回答 1

3

更新:这是从气泡包装 0.3.1 开始修复的

这是 gem 中的一个错误bubble-wrap,它试图在 gem 的路径前加上./. 我打开了一个拉取请求

现在,您可以使用 RVM 或 rbenv 之类的东西来安装一个单独的 Ruby 副本并使用它,或者您可以/Library/Ruby/Gems/1.8/gems/bubble-wrap-0.2.1/lib/bubble-wrap.rb通过将第 14 行更改为以下内容来手动修补:

path = /^\.|\/Users\/|\/Library\/Ruby\/Gems\//.match(x) ? x : File.join('.', x)
于 2012-06-02T20:02:05.823 回答