【发布时间】:2020-07-21 11:03:36
【问题描述】:
我尽可能地是初学者。我正在研究 The Well Grounded Rubyist。我已经使用 rbenv/homebrew 安装了 Ruby,我使用的是与本书相同的版本(2.5.1),但我无法让我的第一个名为 c2f.rb 的 ruby 程序工作。
我在这里束手无策,希望能帮我弄清楚如何让我的终端运行这个程序。谢谢!
我相信我的 PATH 出现了问题,但我不知道如何修复它。当我使用echo $PATH 查看我的路径时,我的终端返回:
/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
我将 c2f.rb 保存在名为 rubycode 的文件夹中,该文件夹位于我的用户文件夹中。当我运行$ ruby c2f.rb 时,终端返回:
Traceback (most recent call last):
ruby: No such file or directory -- c2f.rb (LoadError)
当我在 irb 中运行它时,我收到以下错误:
Traceback (most recent call last):
4: from /usr/bin/irb:23:in `<main>'
3: from /usr/bin/irb:23:in `load'
2: from /Library/Ruby/Gems/2.6.0/gems/irb-1.0.0/exe/irb:11:in `<top (required)>'
1: from (irb):1
NameError (undefined local variable or method `c2f' for main:Object)
【问题讨论】:
-
在尝试使用 ruby 执行脚本之前,您是否使用
cd导航到脚本所在的正确文件夹? “当我在 irb 中运行它时”是什么意思 - 你是如何尝试在 irb 中运行它的? -
使用 cd 有效,谢谢!每次我想运行位于那里的文件时,是否需要
cd进行 rubycode?使用 irb 运行是指从终端输入irb然后尝试运行代码。我可以从 irb 中运行我的文件,还是必须始终在它之外? -
通常,要运行文件,您可以使用
cd导航到该目录,或者通过其绝对路径引用它。在从 IRB 运行文件方面,是的,您当然可以使用require、require_relative或load(或者,作为最后的手段,复制粘贴)。我建议多阅读一些关于这些命令的内容。 -
请注意,
require和require_relative如果您已经需要它,请不要重新加载文件,这就是为什么我在编写代码时通常使用load来代替。跨度> -
非常感谢。你在这个帮助下度过了我的一天。我已经准备好把电脑扔出窗外了。
标签: ruby-on-rails ruby terminal path