Ruby on rails rails服务器bin/rails:6:警告:已初始化常量APP\u路径错误
我尝试了很多方法,比如卸载/重新安装rails和gems,但都没有成功 当我进入我的新项目并运行rails s或bundle exec rails server时,我会遇到以下错误: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
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