2009-02-04 6 views
13

Ich schreibe eine kleine Shoes-App, die eine Bibliothek benötigt, die ich mit meiner regulären Ruby-Installation geschrieben habe. Meine Bibliothek verwendet das 'net-ssh'-Juwel und eine Reihe anderer Ruby-Bibliotheken.Verwenden von Ruby-Bibliotheken und Edelsteinen mit einer Shoes-App

Wenn ich meine Bibliothek direkt mit regelmäßigen Rubin laufen (es seine eigene Kommandozeilen-Schnittstelle hat) wie folgt aus:

ruby my_lib.rb 

... alles ist in Ordnung. Aber wenn ich versuche, es in meiner Shoes-App zu verlangen, bekomme ich einen 'no this file to load - net/ssh'-Fehler (weil my_lib net-ssh verwendet).

Ich habe versucht, um mit dem $ Messing: include Pfad-Variable in der Schuh-App wie folgt aus:

$:.unshift "C:/ruby/lib/ruby/1.8" 
$:.unshift "C:/ruby/lib/ruby/site_ruby/1.8" 
require 'rubygems' 
gem 'net-ssh' 
require 'my_lib.rb' 

... hatte aber keinen Erfolg. Ich bekomme 'Konnte RubyGem net-ssh nicht finden'.

Wer hat das gleiche Problem? Was ist der beste Weg, deine Ruby-Bibliotheken und Edelsteine ​​in einer App für Schuhe zu verwenden?

Antwort

17

Hey, _why posted on his blog, hackety.org, über die Verwendung von Edelsteinen in Shoes. Ich hoffe, es hilft!

 
Shoes.setup do 
    gem 'json >= 1.1.1' 
    gem 'activerecord' 
end 

require 'json' 
require 'activerecord' 

Shoes.app do 
    @msg = para "ALL SYSTEMS GO" 
    animate(20) { @msg.toggle } 
end 
+0

baxter, fand ich eine etwas hässliche Lösung, die einfach die 'net-ssh' gem Dateien in das Shoes gem Verzeichnis kopieren sollte, was genau das ist, was die "Shoes.setup" machen soll, denke ich Ich war nicht so weit von der Wahrheit entfernt! Vielen Dank! ;-) – Dema

+0

Hehe, kein Problem :) – baxter

2

Für Schuhe4 ist die Shoes.setup Methode veraltet.

  1. gem install net-ssh
  2. Mit Bündler und Gemfile

Dann Sie nur require 'net-ssh' in Ihrer Anwendung benötigen: Sie können die Edelsteine ​​Sie müssen entweder installieren.

+0

Ich habe das gleiche Problem erlebt. Meine lokalen Umgebungen waren alle rvm-basiert, aber bestimmte Edelsteine ​​(pdf-reader) wurden nicht gefunden, wenn sie im Startmodus oder im Paket ausgeführt wurden. Ich musste meine App packen. Kopieren Sie dann die Edelsteine ​​direkt in das Verzeichnis lib/gems, das Teil des Mac OS X-Apps-Inhalts ist (nicht sicher, ob es unter Windows gleich ist). Zip-up diesen Inhalt für die Verteilung. Hat gut funktioniert. Ich bin sicher, dass Sie den Packager Skript dafür tun könnten. Out ändert unsere derzeit selten. Mac OS X 10.10. Schuhe Federales – Ben

Verwandte Themen