【发布时间】:2014-08-25 02:13:26
【问题描述】:
当我从 Rails 控制台运行一个简单的 ls 命令时,我收到了这个错误:
$ rails c
irb(main):001:0> `ls`
script/rails: No such file or directory - ls
=> nil
在使用cd ~ 等其他命令时,我遇到了同样的错误。谁能告诉我为什么不显示当前文件夹的内容?
更新:
在尝试exec('ls') 之后,这是输出,这让我觉得它一定是一些本地设置。
irb(main):001:0> exec('ls')
Errno::ENOENT: No such file or directory - ls
from (irb):1:in `exec'
from (irb):1
from /[filepath]/runtime/ruby1.9/gems/1.9.1/gems/railties-3.2.18/lib/rails/commands/console.rb:47:in `start'
from /[filepath]/runtime/ruby1.9/gems/1.9.1/gems/railties-3.2.18/lib/rails/commands/console.rb:8:in `start'
from /[filepath]/runtime/ruby1.9/gems/1.9.1/gems/railties-3.2.18/lib/rails/commands.rb:41:in `<top (required)>'
from /[filepath]/runtime/ruby1.9/1.9.1/rubygems/custom_require.rb:36:in `require'
from /[filepath]/runtime/ruby1.9/1.9.1/rubygems/custom_require.rb:36:in `require'
from script/rails:6:in `<main>'
【问题讨论】:
-
你能在 Ruby 之外运行
ls吗? -
是的,退出控制台后,
ls立即按预期工作。 -
您查看过
PATH环境变量吗?您是否尝试过使用ls的完整路径? -
好点。
/bin在我的 PATH 中,但/bin/ls确实适用于 ruby 控制台。谢谢你的建议。请原谅我缺乏知识,但是否有一个单独的路径可以加载我应该更新的轨道? -
也许你的 Rails 配置弄乱了路径?我会在 application.rb、environment.rb 和任何初始化程序中寻找线索。还可以考虑取出宝石,尤其是最近添加的宝石。
标签: ruby shell ls rails-console