在Windows系统中,Rails控制台出现“切换到检查模式”的错误。

16

我通过 rails new foo 命令创建了一个 Rails 项目,然后使用 cd foo 进入该项目目录,并运行 rails c 命令。

然后我收到了如下的消息。

DL is deprecated, please use Fiddle
Loading development environment (Rails 4.0.2)
Switch to inspect mode.

就这些了。我不能使用rails console。

你知道我做错了什么吗?

我正在使用带有 ruby 1.9.3 和 2.0.0的 railsinstaller,以及来自 Rubyinstaller 的 ruby 2.0.0p451 (2014-02-24) [i386-mingw32]。所有版本都出现相同的错误。

简单的 irb 命令没有问题。

编辑

按照Graeme的建议,我将rb-readline从0.5.0更新到0.5.1,并卸载了旧版本。

$ gem list | grep rb-readline
rb-readline (0.5.1)

但是信息保持不变。


您是否安装了 rb-readline gem?如果有,它的版本是多少? - user740584
我在Railsinstaller中使用ruby 2.0.0p195rb-readline(0.5.0) - ironsand
可能相关的问题:https://dev59.com/SWXWa4cB1Zd3GeqPM3T- - mlt
3个回答

42

如果有人在使用 Docker 时出现了这个错误,可能是因为我运行了 docker run rails,但需要加上 -it 参数。

> docker run rails
Switch to inspect mode. # fail
> docker run -it rails
irb(main):001:0> # yay

3
能否使用docker-compose实现这个功能? - pdhimal1
以下是一个别名,可以在运行中的机器上(包括使用dockre-compose启动的机器)进入rails控制台。function dbrailsc { docker exec -it $(docker ps | grep app_name| awk '{print $1;}') bundle exec rails c; } (您必须将app_name替换为docker-compose.yml文件中rails机器的名称) - mahemoff
1
我也遇到了同样的问题,当我运行 docker exec container_name rails c 而不是 docker exec -it container_name rails c 时。 - juliangonzalez
1
我现在遇到了这个问题多次,对我来说,原因是实际启动服务器的命令(foreman start)被注释掉了我的 docker-compose.yml 文件中,所以它不知道该启动什么。 - Topher Fangio

1
这是由于版本0.5.0中的rb-readline gem引起的已知问题。几个月前,它已被修复为0.5.1版本。
因此,您应该将rb-readline gem升级到v0.5.1以解决此问题。
您可以在问题解决方案中查看更多详细信息。

1
谢谢您的建议,但是在更新后我仍然遇到了相同的错误。 - ironsand
更新应该已经解决了DL过时警告,但没有自动切换到检查模式。你的主目录中是否有.irbrc文件? - user740584
DL 库的弃用警告仍然存在。而且我在我的主目录中没有 .irbrc 文件。我曾经有这个文件,但是我已经删除了它,因为它导致了另一个 rails console 的错误。 - ironsand
1
以前,问题解决了一次,但现在我遇到了类似的问题。答案是否定的,我无法在控制台中输入命令。就在这条消息之后,它会返回到命令行。 - ironsand
2015年,Windows 10上的Rails 5.0仍然存在同样的错误,即在Rails控制台命令中执行时会出现“加载开发环境(Rails 5.0.0.1)切换到检查模式。没有提示符”的问题。这是一个全新的安装。 - Arthur

0
在docker-compose.yaml中,在ruby部分下面添加command: sleep infinity似乎起作用。 受this的启发。

根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接