[ruby-on-rails] rails server bin / rails : 6 : 경고 : 이미 초기화 된 상수 APP_PATH 오류

레일과 보석을 제거 / 재설치하는 것과 같은 여러 가지를 시도했지만 아무 소용이 없습니다.

새 프로젝트로 이동하여 rails s 또는 bundle exec rails 서버를 실행하면이 오류가 발생합니다.

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]

내 빈 / 레일 안에 다음 코드가 있습니다.

#!/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를 실행할 때 왜 계속 그 오류가 발생하는지 아는 사람이 있습니까?

나는 봤는데 봄 보석에 오류가있는 것 같지만 작동하도록 할 수없는 것 같습니다.



답변

내 디렉토리에서 an_initilizer.rb를 찾을 수 없었고 spring gem을 제거 / 설치하려고 시도했지만 작동하지 않았습니다.

그러나 나는 마침내 그것을 작동시킬 수 있었다.

분명히 스프링 및 레일 4+와 약간의 충돌이 있습니다.

다음을 실행해야했습니다.

rake rails:update:bin

하지만 다른 오류가 발생했습니다.

Library not loaded: libmysqlclient.18.dylib

다른 stackoverflow 게시물에서 찾은 다음 명령을 실행했습니다.

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

그런 다음 원래 명령을 실행했습니다.

 rake rails:update:bin

그런 다음 서버 명령을 실행하십시오.

 rails s

이제 내 WebBrick 서버가 실행 중입니다.


답변

rake rails:update:bin 구조에.


답변

El Capitan (OS X 10.11)을 사용중인 경우 SIP (Security Integrity Protection)는 mysql을 수정하기 위해 / usr / lib에 연결하는 것을 방지합니다. 대신 / usr / local / lib에 링크하십시오.

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib


답변

이것은 나를위한 일입니다.

gem uninstall mysql2

bundle install 또는 gem install mysql2


답변

같은 오류가 발생했습니다. Gemfile에서 스프링을 제거하고 다시 번들로 제공합니다. 그래도 실제로 해결책은 아닙니다.

이 오류를 생성 한 코드를 config/initializers/an_initializer.rb

require "lib/a_file_i_need"

나는 그것을 변경했다

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


답변

Rails 4와 imagemagick 및 rmagick를 업데이트하려고하면이 오류가 발생했습니다. 그래서 방금 달렸어요

보석 제거 rmagick

모든 버전 옵션을 선택합니다. 그런 다음 다시 시도하십시오

편집 : 이것은 필요한 기본 gem을 설치하지 않고 gem을 사용하려고했기 때문에 방금 저와 함께 다시 발생했습니다. 제 경우 해결책은 ‘omniauth-google-oauth2’를 사용하기 전에 ‘omniauth-google’을 설치하는 것이었지만 설치하지 않았기 때문에 동일한 오류가 다시 발생했습니다.


답변

같은 오류가 발생했습니다. Mavericks에서 루비 2.1.3과 레일 4.1.6을 실행 한 다음 Yosemite로 마이그레이션하여 4.2.0 레일 버전 루비 2.1.5를 설치했는데 이전 버전에서 만든 앱이 새 버전에서 작동하지 않았습니다. , 그래서 RVM으로 몇 가지 보석 세트를 만들고 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]

그리고 tobu가 언급했듯이 나는 달렸습니다.

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’를 입력하고 리턴을 누르십시오.

이 모든 후에 나는 일을 시작했고 잘 지내고 있었다.

감사.