【问题标题】:Can't use some Rails gems - no such file to load无法使用某些 Rails gem - 没有要加载的文件
【发布时间】:2011-12-09 09:15:31
【问题描述】:

我在 Rails 应用程序中遇到了一些 Ruby gem 的相同问题。

当我使用时:

require 'rubygems'
require 'uuidtools'

require 'rubygems'
require 'json'

在 Rails 应用程序中,我得到 "no such file to load -- uuidtools" 错误(或 "no such file to load --json" - 分别) .

  • 两个 gem 都已正确安装
  • 当我在 irb 中键入这些指令对时,结果我得到“真”
  • 当我尝试使用 rails server 或在 NetBeans 调试会话中运行应用程序时,我得到“没有要加载的文件”
  • 看来这个问题涉及到许多其他已安装的 gem。

【问题讨论】:

  • 不,他们不是。我添加了它们,现在应用程序似乎可以工作了!顺便说一句,Gemfile 的目的是什么以及在“buldle install”命令上安装所需的 gem?
  • Gemfile 是 bundle install 知道要安装什么的方式...它是您的依赖目录。在较旧的(Rails gem install XXX 并让 Rails 接手它(尽管大多数人会认为这是一个功能!)
  • 你在说什么捆绑器总是在应用程序运行时运行。我理解对了吗?在我看到您的评论之前,我认为捆绑程序仅在您发出“捆绑”命令然后完成时才会运行并获得控制。
  • Bundler 被 Rails 用来加载你的 gem; bundler 命令只是该库的包装器,它将来自正确 gem 版本的任何 binfiles 放在您的路径中,以便您可以在安装多个时执行正确的版本。所以你之前的理解是不完整的,虽然不是完全错误的。

标签: ruby-on-rails load require


【解决方案1】:

我在 Gemfile 中添加了 gem,这很有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多