每当我使用“require”这个词时,我都会收到一个错误,如果我尝试使用 relative_require,我也会收到一个错误

Posted

技术标签:

【中文标题】每当我使用“require”这个词时,我都会收到一个错误,如果我尝试使用 relative_require,我也会收到一个错误【英文标题】:Whenever I use the word "require" I get an error and I also get an error if I try to use relative_require 【发布时间】:2014-08-13 12:52:18 【问题描述】:

我尝试使用relative_require 来解决我的错误,但这似乎也不起作用。当我使用单词require 运行以下代码时:

APP_ROOT = File.dirname(__FILE__)

require File.join(APP_ROOT, 'lib')
require 'guide'

guide = Guide.new('restaurants.txt')
guide.launch!

我得到这个错误:

/Users/catherinealvarado/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- ./lib (LoadError)
    from /Users/catherinealvarado/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from init.rb:11:in `<main>'

我尝试通过执行以下链接中显示的gem install netrc &amp;&amp; gem install heroku-api 来解决此错误,但我收到一条错误消息,指出我应该安装 libyaml 并重新安装 ruby​​。 https://github.com/gregburek/heroku-buildpack-toolbelt/issues/5

然后我尝试安装 libyaml 并重新安装 ruby​​,但出现更多错误。我按照以下链接上的说明进行操作:

Please install libyaml and reinstall your ruby

我是 ruby​​ 的新手,我已经被这个错误困扰了很长一段时间。我认为我尝试加载的文件中没有任何语法错误。非常感谢任何帮助。

【问题讨论】:

您是否检查过 APP_ROOT 是否导致路径正确? 不应该是require_relative而不是relative_require吗? APP_ROOT中真的有lib.rb文件吗? 我不知道如何找到我的 APP_ROOT 或它是什么。我也不知道如何检查我是否有 lib.rb。 【参考方案1】:

您从中运行该文件的文件位于何处?根?

如果是这样,你可以这样做:

require_relative 'lib/guide'

对我来说,我几乎总是需要我的规范主管提供外部文件,所以我的调用如下所示:

require_relative '../lib/guide'

【讨论】:

我试图做 require_relative 'lib/guide' 但我收到错误:Catherines-MacBookAir:food_finder catherinealvarado$ ruby​​ init.rb init.rb:11:in require_relative': cannot load such file -- /Users/catherinealvarado/Desktop/food_finder/lib (LoadError) from init.rb:11:in
'
当我运行 ls 时,我得到以下信息: Catherines-MacBookAir:food_finder catherinealvarado$ ls init.rb lib [note* 在 lib 文件夹中我有 guide.rb 和 restaurant.rb] 凯瑟琳-MacBookAir:lib catherinealvarado$ ls guide.rb restaurant.rb 我能够解决我的错误。谢谢大家的建议。

以上是关于每当我使用“require”这个词时,我都会收到一个错误,如果我尝试使用 relative_require,我也会收到一个错误的主要内容,如果未能解决你的问题,请参考以下文章

lua:15: '[' 附近的意外符号

在Clojure中使用JSON - 未定义的错误

JDBC 连接池:连接重用?

每当我打开我的终端时,我都会得到错误信息-bash: export.`=': not valid identifier in ubuntu: `=': 在ubuntu中不是一个有效的标

Passport Local Mongoose 错误:未提供用户名

Ruby on Rails:运行 rake 命令时出现错误消息