我正在使用 Rhodes 开发 android 应用程序。我已经在 Rhodes 安装了 HTTpary gem。现在,当我在应用程序顶部编写语句“require 'httparty'”时,它给了我类似“没有要加载的文件”之类的错误。我应该怎么做才能解决这个问题?
3 回答
这只是一个猜测,因为带有 Rhodes 环境;但如果这是一个普通的 ruby 脚本,你首先需要拥有require 'rubygems'
(假设你使用了 rubygems ......)。
从文档中,向下滚动到“将 Ruby 扩展库添加到您的 Rhodes 应用程序”开始的部分。它详细介绍了将外部库包含到应用程序中的 3 种方法,总结如下。
- 将 ruby 扩展添加到单个应用程序
- 将 ruby 库添加到单个应用程序
- 将 ruby 库添加到为所有应用程序构建的 Rhodes 框架
基本的 Rhodes 框架只包含被认为足够通用的东西,因此可以将构建的应用程序包大小保持在较低水平。任何不在基础框架中的东西都可以通过上述方法包含在应用程序中。
摩托罗拉的文档太可怕了;如果可以,请允许我提供帮助。首先,检查 Ruby 代码中的常量$LOAD_PATHS
以查看 Rhodes 搜索的完整路径列表。此路径中的任何.rb
文件都会自动提供给require
.
然后你必须决定是将这个库添加到整个 Rhodes 框架还是只是你的应用程序;我个人一次选择一个应用程序,因为这样可以减少不兼容的机会,并且您的应用程序仍然提供所有库rhodes-*version/lib/framework
如果您想将库添加到您的应用程序,文档建议将其放入目录app/lib
中,但请记住,仅搜索此确切路径,因此如果您没有.rb
与您的 require 语句同名的文件直接在此路径下,不会自动检测到。我之所以提到这一点,是因为常见的结构是一个文件,其中库名直接放在 中lib
,而实际的库内容位于同名文件夹中。
示例:该mime-types
库由:lib/mime-types.rb
和组成lib/mime/
,它们的名称不同,并且在包含在 Ruby 中时可能会导致这种混淆。