2011-05-13 51 views
7

當我加載rails(rails s)時,終端中顯示的第一行是:無法找到已棄用的RAILS_ROOT的位置

DEPRECATION WARNING: RAILS_ROOT is deprecated. Please use ::Rails.root.to_s. (called from /Users/x/Sites/x/config/application.rb:7) 

我無法隔離使用它的位置。

上面提到的第7行是:

Bundler.require(:default, Rails.env) if defined?(Bundler) 

有沒有人有任何建議?

回答

9

你的寶石之一是在其初始化代碼中使用RAILS_ROOT

從您的應用程序的包目錄,嘗試:grep -R RAILS_ROOT .

(如果您正在使用RVM,捆綁目錄將在~/.rvm/gems;否則,它可能是你的應用程序的主目錄中.bundle

+0

我如何找到我的應用程序的應用程序的包目錄是什麼? – AnApprentice 2011-05-13 04:29:09

+0

嘗試'捆綁顯示導軌'。這會給你通往Rails gem的路徑。它在你的包中,所以只需使用父目錄。 – 2011-05-13 04:34:57

+0

找到了目錄,但運行該命令只是掛在:$ grep -R RAILS_ROOT grep:warning:stdin的遞歸搜索 – AnApprentice 2011-05-13 04:48:42

0

你可以像Paul提到的那樣尋找問題的根源。但是你也可以嘗試在你的Gemfile中碰到寶石的版本。 這最通常的原因通常是捆綁軟件gem,這通常在全局gemset中(在rvm中)。

嘗試使用該命令的全球寶石撞擊版本:

gem update bundler 
相關問題