Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails服务器bin/rails:6:警告:已初始化常量APP\u路径错误_Ruby On Rails - Fatal编程技术网

Ruby on rails rails服务器bin/rails:6:警告:已初始化常量APP\u路径错误

Ruby on rails rails服务器bin/rails:6:警告:已初始化常量APP\u路径错误,ruby-on-rails,Ruby On Rails,我尝试了很多方法,比如卸载/重新安装rails和gems,但都没有成功 当我进入我的新项目并运行rails s或bundle exec rails server时,我会遇到以下错误: bin/rails:6: warning: already initialized constant APP_PATH /Users/toabui/Sites/cms/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rail

我尝试了很多方法,比如卸载/重新安装rails和gems,但都没有成功

当我进入我的新项目并运行rails s或bundle exec rails server时,我会遇到以下错误:

bin/rails:6: warning: already initialized constant APP_PATH
/Users/toabui/Sites/cms/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rails COMMAND [ARGS]
在我的bin/rails中,我看到以下代码:

#!/usr/bin/env ruby
begin
load File.expand_path("../spring", __FILE__)
rescue LoadError
end
APP_PATH = File.expand_path('../../config/application',  __FILE__)
require_relative '../config/boot'
require 'rails/commands'
有人知道为什么我在运行rails s时总是出现这种错误吗


我在谷歌上搜索了一下,发现spring gem似乎有错误,但我似乎无法让它正常工作。

我也遇到了同样的错误。从Gemfile中删除spring并重新绑定。但这并不是一个真正的解决方案

我在
config/initializers/an_initializer.rb

require "lib/a_file_i_need"
我把它换成了

require "#{ Rails.root }/lib/a_file_i_need"

我在我的目录中找不到an_initilizer.rb,我尝试卸载/安装spring gem,但没有成功

然而,我最终还是设法让它工作了

显然,spring和rails 4+存在一些冲突

我需要跑:

rake rails:update:bin 
但我遇到了另一个错误:

Library not loaded: libmysqlclient.18.dylib
我在另一个stackoverflow post上运行了以下命令:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 
然后运行原始命令:

 rake rails:update:bin 
然后运行server命令:

 rails s

现在我的WebBrick服务器正在运行。

我试图更新rails 4、imagemagick和rmagick时出现了这个错误。 所以我就跑了

宝石宝石

选择“所有版本”选项。然后再试一次


编辑:我刚才又遇到了这种情况,因为我试图在没有安装所需的基本gem的情况下使用gem。在我的案例中,解决方案是在尝试使用“omniauth-google-oauth2”之前安装“omniauth google”,但由于我没有安装,因此再次出现相同的错误

在一个流浪环境中尝试启动应用程序时,我有相同的错误消息输出。在对应用程序代码进行零更改后(以及随后出现的其他奇怪行为,如development.rb在尝试运行应用程序时被删除),它突然出现


最后,我简单地停止了VM并重新启动了它,一切都很好,所以我假设这是文件同步/共享文件夹的问题,也许?(正在使用默认的Vagrant共享文件夹)。

rake rails:update:bin
用于救援。

在console中运行以下命令:

rake tmp:clear
rake secret

我也犯了同样的错误。我让ruby 2.1.3和rails 4.1.6在Mavericks上运行,然后我迁移到Yosemite并安装了4.2.0 rails版本和ruby 2.1.5,我在上一个版本中制作的应用程序与新版本不兼容,所以我用RVM制作了一些gem集并安装了2.1.3版本。 现在,当我想运行服务器时,出现以下错误:

bin/rails:6: warning: already initialized constant APP_PATH
/Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails:6: warning: previous definition of APP_PATH was here
Usage: rails COMMAND [ARGS]
正如托布提到的,我跑了:

rake rails:update:bin
我明白了:

LoadError: dlopen(/Users/Lexynux/.rvm/gems/ruby-2.1.3@SAIIP2/extensions/x86_64-darwin-14/2.1.0-static/mysql2-0.3.16/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
然后我运行这个:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
最后,我重复了第一个命令,终端问我:

Overwrite /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails? (enter "h" for help) [Ynaqdh]
我刚打了“Y”,然后按了回车键

在这一切之后,我开始工作,一切顺利


谢谢。

我在升级postgresql后收到此错误

$ gem uninstall pg
$ gem install pg
为我解决了此问题。

如果
rake rails:update:bin
提供了其他错误: 我最近做了一些服务器维护,并随后更新了OpenSSL

当我尝试运行
rakerails:update:bin
命令时,出现了一个与openSSL相关的错误

重建了我的Ruby版本(使用rvm重新安装Ruby-x.x.x),两个错误都消失了


我想这总是值得一试的。

我的问题是我使用了一个过时的ruby 1.9.3版本和rails 4.2。我升级到2.1.2,删除了坏掉的项目,运行rails新博客来重新创建我的项目,导航到我新创建的应用程序,运行rails服务器,一切正常

我得到了同样的错误,它碰巧与
gem dotenv
有关。 指示将以下内容添加到GEM文件:

gem 'dotenv', :require => 'dotenv/rails-now'

但事实证明,
dotenv/rails现在导致了错误。如果您使用
dotenv
现在不需要
rails

您是否在不同的分支中使用pg和mysql?如果是,请确认db配置文件。

如果您在El Capitan(OS X 10.11)上,安全完整性保护(SIP)将阻止链接到/usr/lib以修复mysql。将其链接到/usr/local/lib:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
这是我的工作

gem卸载mysql2


bundle-install
gem-install-mysql2

在执行
brew升级后,我遇到了这种情况。我的猜测是,这打破了一些本机扩展的宝石,即使没有错误消息指向这一点

我最终做的是完全删除我安装的gems(在我的例子中,我使用
rbenv
完全卸载并重新安装了ruby版本)。

运行
bundle install
重新编译了本机扩展,一切都重新运行了。

我刚刚遇到了这个问题,发现这是因为我从gem文件中删除了一个gem,而没有删除其他
require
引用。在我的例子中,我只需要将它从config/application.rb中删除。

我将发布对我有用的内容

点评

gem 'spring'
添加
gem'net shh'

然后运行
bundle安装


重新启动您的服务器最近出现此错误,它是由spring引起的,因为它建议在可执行文件中使用代码:

begin
  load File.expand_path('../spring', __FILE__)
rescue LoadError
end
它最初期望spring本身在生产中出现
LoadError
,但通过该代码,所有其他加载错误也将被忽略


因此,如果在rails加载过程中(例如在routes/init中)有任何其他
LoadError
,spring worker启动失败,然后出现了尝试再次加载所有内容的分支,就像没有spring一样。

对于我来说,这个问题是捆绑包升级rvm capistrano和其他东西的结果。
添加此项要求:根据前一条,最终修复错误

虽然可能是一个额外的问题-如运行
rake-rail
gem  'rvm-capistrano',  require: false