ruby 运行$ rake后,避免rake中止!`block in < top(required)>'

fzwojiic  于 2023-05-17  发布在  Ruby
关注(0)|答案(1)|浏览(117)

https://gitimmersion.com/lab_21.html的lib文件夹中,我创建了两个文件:
a)hello.rb包含:

# Default is "World"
# Author: Jim Weirich (jim@somewhere.com)
name = ARGV.first || "World"
puts "Hello, #{name}!"

B)和Rakefile.rb包含:

#!/usr/bin/ruby -wKU

task :default => :run

task :run do
  require './lib/hello'
end

已添加并提交两个文件的更改。在终端中键入$ rake后,根据练习结构-输出应为:

Hello, World!

但是,以下信息会显示在终端中:

rake aborted!
LoadError: cannot load such file -- ./lib/hello      
.../lib/Rakefile.rb:6:in `block in <top (required)>'
Tasks: TOP => default => run
(See full trace by running task with --trace)

想问一下在运行$ rake后如何得到想要的输出

xdnvmnnf

xdnvmnnf1#

require './lib/hello'期望找到:

从当前目录中运行rake

或***添加到$PATH变量的目录***,
名为lib的目录,其中包含名为hello.rb的文件
您需要确定的是为什么rake找不到该文件。
假设这是您的文件结构:

  • /用户
  • /gitimmersion
  • /lab_21
  • /lib
  • hello.rb

从/lab_21以外的任何目录运行代码都会导致此错误。
您可以在终端中更改目录,也可以更改require代码,以正确地从当前目录遍历到hello.rb文件所在的目录。

相关问题