如何使用Snow Leopard上的MacRuby .5應用程序中的寶石?我是否需要指定寶石路徑?如果是這樣,我該怎麼做?在MacRuby中使用Gems
最佳方案是將寶石包裝在應用程序中,以便用戶在分發應用程序時不必安裝寶石。
如何使用Snow Leopard上的MacRuby .5應用程序中的寶石?我是否需要指定寶石路徑?如果是這樣,我該怎麼做?在MacRuby中使用Gems
最佳方案是將寶石包裝在應用程序中,以便用戶在分發應用程序時不必安裝寶石。
耶胡達·卡茨寶石捆綁是一個非常好的選擇恕我直言:
http://github.com/wycats/bundler
無論如何,有很多其他的選擇,如在你的應用程序包創建一個供應商/目錄添加每個供應商子目錄的Ruby庫在rb_main.rb
搜索路徑:
$:.unshift File.join(File.dirname(__FILE__), 'vendor/rest-client/lib')
$:.unshift File.join(File.dirname(__FILE__), 'vendor/crack/lib')
require 'rest-client'
require 'crack'
我使用的是後一種方法在這裏:
這很好,但是對於需要與許多其他依賴項相關的gem非常不方便。 – Overbryd 2012-02-02 16:24:23
1ü將不得不安裝寶石:
$ sudo gem install gem_name
然後簡單地要求它在你的計劃,你也會有要求「的rubygems」也:
require 'rubygems'
require 'gem_name'
嗨Raafat, 感謝您的答覆。我已經安裝了寶石,並且每天都在正常腳本中使用它們。之後我需要rubygems和寶石。該錯誤是一個加載錯誤。 這些工作: 需要 'RubyGems的' 需要 '培根' 要求 '淨/ HTTP' 需要 'URI' 這是沒有的。 需要'nokogiri' 需要'appscript' – 2009-10-18 00:31:05
要使用的寶石在一個MacRuby的項目,你需要使用:
$ sudo的macgem安裝gem_name
不是所有的寶石都與MacRuby兼容。
用C編寫的寶石在MacRuby中尚不可用。所以,暫時沒有nokogiri。
爲了打包寶石,剛發佈的MacRuby 0.5 beta 2包含工具macrubyc
,該工具將MacRuby框架打包到您的包中。他們還支持直接從Xcode中完成這一操作。
如果您要打包MacRuby應用程序,您還可以在部署目標的「信息」選項卡下爲macruby_deploy
添加--gem
標誌。
這會將指定的gem放置在包中深處的site_ruby文件夾中。
我傳遞macruby_deploy我的應用程序的參數是:
--compile --embed --gem sequel --gem sqlite3
UPDATE: RB-appscript不MacRuby的工作。仍然不明白爲什麼nokogiri不是。 – 2009-10-18 00:54:17