【发布时间】:2011-05-12 21:49:19
【问题描述】:
我是 Ruby 的新手。我有一个 .bundle 文件。我把它放在源文件夹中并做了
require('my.bundle')
但是当我调用包中的方法时,找不到定义。我是否必须安装它们或以其他方式包含它们才能访问它们?
我使用的是 Ruby 版本 1.8.7(Mac 上的最新版本)。
【问题讨论】:
标签: ruby include bundle require
我是 Ruby 的新手。我有一个 .bundle 文件。我把它放在源文件夹中并做了
require('my.bundle')
但是当我调用包中的方法时,找不到定义。我是否必须安装它们或以其他方式包含它们才能访问它们?
我使用的是 Ruby 版本 1.8.7(Mac 上的最新版本)。
【问题讨论】:
标签: ruby include bundle require
我强烈建议使用RVM 来管理您的Ruby 安装,包括您的gem,所以如果您还没有它,请获取它并关注instructions for installing 它。确保你完成了修改 bash 启动脚本的工作,否则你会看到奇怪的行为,比如调用了错误的 Ruby。此外,请使用“RVM and RubyGems”中的步骤安装您的 gem,否则您可能会遇到奇怪的行为,因为 gem 安装在错误或意外的 Ruby 下。
其次,使用gem命令安装gems:
gem install gem_to_install
将“gem_to_install”替换为您想要的 gem 的名称,它将安装到您的 Ruby 的相应 gem 文件夹中。
如果您使用的是 Ruby 1.92,并尝试 require 将 gem 用作代码中的模块,请使用:
require 'gemname'
如果它是通过gem 命令安装的。而且,如果它是您编写的模块,或者在您的程序目录中或在它下面,请使用:
require_relative 'path/to/gem/gemname'
如果您使用的是 Ruby require 行上方添加 require 'rubygems',然后使用 require './path/to/gem/gemname'。
谢谢,但我的 .bundle 不在 gems 中。如何安装/需要我已有的 .bundle 文件?
如果您编写了它,请查看 rubygems/gemcutter 或 bundler 以获取有关捆绑和管理 gem 的信息。
您可以在不使用应用程序的情况下安装 gem,方法是进入包含 gem 的目录并运行 setup.rb。请参阅http://i.loveruby.net/en/projects/setup/doc/usage.html 以获得体面的文章或官方文档:http://docs.rubygems.org/read/chapter/3
【讨论】:
require_relative,我猜你使用的是 1.8.n 版本。