【问题标题】:Using Ruby libraries and gems with a Shoes app将 Ruby 库和 gem 与 Shoes 应用程序一起使用
【发布时间】:2009-02-04 17:46:15
【问题描述】:

我正在编写一个小鞋应用程序,它需要一个我在常规 Ruby 安装中编写的库。我的库使用“net-ssh”gem 和一堆其他 Ruby 库。

当我像这样使用常规 ruby​​(它有自己的命令行界面)直接运行我的库时:

ruby my_lib.rb

...一切都很好。但是当我尝试在我的 Shoes 应用程序中要求它时,我收到一个“没有要加载的文件 - net/ssh”错误(因为 my_lib 使用 net-ssh)。

我尝试在鞋子应用程序中使用 $:include 路径变量,如下所示:

$:.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'

...但没有成功。我得到“找不到 RubyGem net-ssh”。

有人遇到过同样的问题吗?在 Shoes 应用中使用 Ruby 库和 gem 的最佳方式是什么?

【问题讨论】:

    标签: ruby rubygems shoes


    【解决方案1】:

    嘿,_why posted on his blog,hackety.org,关于在鞋子中使用宝石。希望对你有帮助!

    Shoes.setup 做 宝石'json> = 1.1.1' 宝石'活动记录' 结尾 需要'json' 需要“活动记录” 鞋子.app 做 @msg = para "所有系统运行" 动画(20){@msg.toggle} 结尾

    【讨论】:

    • baxter,我找到了一个有点丑陋的解决方案,就是将“net-ssh”gem 文件复制到 Shoes gem 目录,这正是“Shoes.setup”应该做的,所以,我想我离真相不远了!谢谢! ;-)
    【解决方案2】:

    对于 shoes4,Shoes.setup 方法已弃用。您可以通过以下任一方式安装所需的 gem:

    1. gem install net-ssh
    2. 使用捆绑器和 Gemfile

    那么,你只需要在你的应用程序中require 'net-ssh'

    【讨论】:

    • 我也遇到了同样的问题。我的本地环境都是基于 rvm 的,但是在启动模式下运行或打包时找不到某些 gem(pdf 阅读器)。我不得不打包我的应用程序。然后将 gem 直接复制到 lib/gems 目录中,该目录是 Mac OS X 应用程序内容的一部分(不确定 windows 上是否相同)。然后压缩该内容以进行分发。工作得很好。我确定您可以编写打包程序脚本来执行此操作。 Out改变了我们目前不常见的。 Mac OS X 10.10。联邦鞋
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    相关资源
    最近更新 更多