从一个时刻到另一个时刻,我的rails应用程序不再启动了。在做rails c
时,我收到了消息:
C:\Users\mliebelt\IdeaProjects\dhm>bundle exec rails c
DL is deprecated, please use Fiddle
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
...
像我没有任何参数调用rails一样。当我创建一个新的应用程序并进入该目录时,我可以像往常一样启动rails服务器。我尝试了所有的变化:
版本是:
这个应用程序过去一直在运行,所以今天早上我在Windows和Linux下进行并行开发的问题必定是原因。
我无法在Windows下使用bin/rails s
,而且在Vagrant Linux映像中也是如此。我当然在应用程序的目录中,我的应用程序名为dhm
。整个结构都存在,我可以像往常一样使用所有rake
命令,但不能使用rails
命令。所以我怀疑rails
命令正在寻找不存在的东西......
我之间的做法如下:
应用程序的bin目录有变化,但我不在Windows下使用它(因为它在那里不起作用)。我没有任何线索如何找到原因,为什么Rails应用程序不再启动。是否有一些标记,--debug
或--verbose
我可以用来获取更多信息?
答案 0 :(得分:0)
我找到了原因(希望如此),为什么我的应用程序不再起作用了。我做了以下事情:
rails s
再次启动应用程序。两个文件的差异是:
git diff bin/rails
diff --git a/bin/rails b/bin/rails
index 215a2ea..b9f8787 100755
--- a/bin/rails
+++ b/bin/rails
@@ -1,7 +1,4 @@
-#!/usr/bin/env ruby
-begin
- load File.expand_path("../spring", __FILE__)
-rescue LoadError
-end
-require 'bundler/setup'
-load Gem.bin_path('rails', 'rails')
+#!/usr/bin/env ruby.exe
+APP_PATH = File.expand_path('../../config/application', __FILE__)
+require_relative '../config/boot'
+require 'rails/commands'
warning: LF will be replaced by CRLF in bin/rails.
The file will have its original line endings in your working directory.
也许是某处的复制粘贴错误(spring vs. rails)......
因此,与Windows OS和Linux OS并行处理同一个应用程序似乎不是一个好主意,至少bin命令是不同的。我会尝试写一篇关于那篇的博客文章......