【问题标题】:Require 'Filename' in irb在 irb 中需要“文件名”
【发布时间】:2012-09-04 06:01:14
【问题描述】:

我正在关注一本书,该书正在构建一个包含多个 mysql 数据库表的 Sinatra 应用程序。它给了我制作 mysql 数据库的说明,我做了,然后它告诉我进入 IRB 并做

require 'tinyclone'

根据本书,输入该命令将“需要创建数据库表所需的类”,之后我应该运行

Datamapper.auto_migrate!

但是,当我尝试做 require 'tinyclone' 时,我得到了这个错误

LoadError: cannot load such file -- tinyclone
    from /Users/mm/.rvm/rubies/ruby-1.9.3-rc1/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/mm/.rvm/rubies/ruby-1.9.3-rc1/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):1
    from /Users/mm/.rvm/rubies/ruby-1.9.3-rc1/bin/irb:16:in `<main>'

我在 tinyclone.rb 所在的同一目录中打开了 IRB 会话,所以我认为这不是问题所在。

谁能帮帮我?

【问题讨论】:

标签: ruby-on-rails ruby sinatra


【解决方案1】:

除了包含完整路径外,ruby 1.9 引入了一种新方法。

require_relative 'tinyclone'

这将需要当前文件的相对目录中的 tinyclone.rb 文件。

【讨论】:

    【解决方案2】:

    我必须输入完整路径

    需要'/Users/me/sites/cloning/tinyclone.rb'

    【讨论】:

    • 否则你可以指定使用当前目录 usingn "./"
    【解决方案3】:

    我们需要指定文件的完整路径,所以你需要像下面这样指定,

    require './tinyclone'
    

    或者你可以像下面这样指定完整路径,

    require '/home/user/tinyclone'
    

    【讨论】:

      猜你喜欢
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 2014-12-21
      相关资源
      最近更新 更多