[RUBY-ON-RAILS] 초기화되지 않은 상수의 ActiveSupport :: 종속성 :: 뮤텍스 (나가서 설명하자면 NameError)
RUBY-ON-RAILS초기화되지 않은 상수의 ActiveSupport :: 종속성 :: 뮤텍스 (나가서 설명하자면 NameError)
나는 루비 온 레일스 프로젝트를 생성 할 때, 나는 아래의 메시지가 나타납니다.
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support.rb:57
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails_generator.rb:31
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails:15
from /usr/bin/rails:19:in `load'
from /usr/bin/rails:19
무슨 일이 사라 잘못이있다? 어떻게 그것을 해결하기 위해 무엇입니까?
해결법
-
==============================
1.이 레일 2.3.8과 젬의 최신 버전 간의 비 호환성이다. 최신 2.3 버전 (오늘 같은 2.3.11)으로 업그레이드합니다.
이 레일 2.3.8과 젬의 최신 버전 간의 비 호환성이다. 최신 2.3 버전 (오늘 같은 2.3.11)으로 업그레이드합니다.
-
==============================
2.혹시 레일 2.3.11에 루비로 업그레이드 할 수 없습니다 (그리고 douglasr의 대답에 확장), 스레드는 boot.rb.의 상단에 요구해야한다 예를 들면 :
혹시 레일 2.3.11에 루비로 업그레이드 할 수 없습니다 (그리고 douglasr의 대답에 확장), 스레드는 boot.rb.의 상단에 요구해야한다 예를 들면 :
require 'thread' # Don't change this file! # Configure your app in config/environment.rb and config/environments/*.rb ...
-
==============================
3.나는 젬 1.6.0+ 및 레일 <2.3.11로 발생하기 때문에, 1.5.3에 젬을 다운 그레이드하여이 문제를 해결할 수 있었다 :
나는 젬 1.6.0+ 및 레일 <2.3.11로 발생하기 때문에, 1.5.3에 젬을 다운 그레이드하여이 문제를 해결할 수 있었다 :
gem update --system 1.5.3
이전에 더 이전 버전으로 다운 그레이드하고 1.5.3로 업데이트 할했다면 그것을 실행하려고 할 때, 다음을 얻을 수 있습니다 :
Updating RubyGems ERROR: While executing gem ... (RuntimeError) No gem names are allowed with the --system option
당신은 다시 다운 그레이드 다음 버전을 지정하고 있습니다 그래서 그 오류, 다음 업데이 트를 얻을 경우 :
gem update --system gem update --system 1.5.3
-
==============================
4.또한 가능성과 같은 응용 프로그램에서 '스레드'를 요구함으로써이 문제를 주변에 얻을 수 있습니다 :
또한 가능성과 같은 응용 프로그램에서 '스레드'를 요구함으로써이 문제를 주변에 얻을 수 있습니다 :
require 'thread'
루비 젬 1.6.0 릴리스 노트에 따라.
-
==============================
5.당신이 동일한 버전을 유지하려면 레일 2.3.8되며 보석 버전은 최신 될 것 같은. 당신은 Rails2.x이 솔루션 최신 보석을 사용할 수 있습니다. boot.rb 파일과 environment.rb에 파일이 일부 변경된다.
당신이 동일한 버전을 유지하려면 레일 2.3.8되며 보석 버전은 최신 될 것 같은. 당신은 Rails2.x이 솔루션 최신 보석을 사용할 수 있습니다. boot.rb 파일과 environment.rb에 파일이 일부 변경된다.
상단에 boot.rb 파일에서 '스레드'를 필요로한다.
및 environment.rb에 파일의 초기화 블록 위에 다음 코드를 추가합니다.
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.3.7') module Rails class GemDependency def requirement r = super (r == Gem::Requirement.default) ? nil : r end end end end
-
==============================
6.나는 2.3.5 프로젝트 레일 3 일 후에 오래된 레일을 시작하려고 할 때> 많은 occassions에이 문제에 직면했다. 문제를 해결하기 위해 내 경우, 나는 버전 1.4.2에 젬 업데이트를 수행해야합니다,이 있습니다 :
나는 2.3.5 프로젝트 레일 3 일 후에 오래된 레일을 시작하려고 할 때> 많은 occassions에이 문제에 직면했다. 문제를 해결하기 위해 내 경우, 나는 버전 1.4.2에 젬 업데이트를 수행해야합니다,이 있습니다 :
sudo gem update --system 1.4.2
-
==============================
7.당신이 방사 CMS를 사용하는 경우, 단순히 추가
당신이 방사 CMS를 사용하는 경우, 단순히 추가
require 'thread'
설정 / boot.rb의 상단.
(아론의 및 nathanvda의 답변 했네.)
-
==============================
8.언급 한 바와 같이 프로젝트의 / 공급 업체에 vendored 레일 2.3.3에 루비를 사용하고 레일에 루비 버전 이전의 내 애플 3. 버전보다 함께 젬 1.6.0을 사용하는 경우에 발생합니다.
언급 한 바와 같이 프로젝트의 / 공급 업체에 vendored 레일 2.3.3에 루비를 사용하고 레일에 루비 버전 이전의 내 애플 3. 버전보다 함께 젬 1.6.0을 사용하는 경우에 발생합니다.
없음이 문제를 해결할 수있는 새로운 인 2.3.x 버전으로 루비 온 레일즈의 업그레이드를 의심하지 않습니다. 그러나이 문제를 방지 당신은 레일에 unvendor 루비 레이크을 실행하고 업그레이드 할 수 있습니다.
나를 위해 문제가 해결되지 않은 environment.rb에의 상단에 '스레드'를 필요로 추가. 문제가 해결 되었습니까 /vendor/rails/activesupport/lib/active_support.rb에 '스레드'를 필요로 추가.
-
==============================
9.v3.0.5에 레일 버전에 루비를 업데이트하십시오 :
v3.0.5에 레일 버전에 루비를 업데이트하십시오 :
gem install rails --version 3.0.5
또는 v2.3.11 :
gem install rails --version 2.3.11
이 새로운 프로젝트가 아닌 경우 그에 따라 응용 프로그램을 업그레이드해야합니다. 이 새로운 프로젝트라면, 당신이 그것을 만든 디렉토리를 삭제하고 다시 새 프로젝트를 만들 수 있습니다.
-
==============================
10.루비 젬를 업데이트
루비 젬를 업데이트
보석 업데이트 --system
-
==============================
11.나는 거기 다른 수면 박탈 영혼에 대한 내 솔루션을 게시하도록하겠습니다 :
나는 거기 다른 수면 박탈 영혼에 대한 내 솔루션을 게시하도록하겠습니다 :
당신은 당신이 올바른 루비 버전과 gemset를 사용하여 올바른 폴더에 걸 RVM 두 번 검사를 사용하는 경우. 나는 열린 터미널 탭의 배열을 가지고 있었고, 그 중 하나는 다른 디렉토리에 있었다. 내 기본 배포판 2.3.x.입니다 레일 때문에 입력 "콘솔 레일은"오류 발생
나는 올바른 디렉토리에 cd'd 내 부분에 오류를 발견, 내 .rvmrc 파일은 나머지를했다.
RVM은 힘내처럼되지 않습니다. 자식, 하나 개의 셀에 지점을 변경하면 모든 곳을 변경합니다. 말 그대로 문제의 파일을 다시 작성합니다. RVM은, 다른 한편으로는, 단지 쉘 변수를 설정하는 것입니다, 당신은 열 때마다 새로운 쉘 설정해야합니다.
혹시 .rvmrc에 익숙하지 않은, 당신은 어떤 디렉토리에 그 이름을 가진 파일을 넣을 수 있습니다, 당신은 그 디렉토리로 변경할 때마다 RVM은 gemset 그 안에 지정된 / 그것을 선택하고 버전을 사용합니다. 다음은 샘플 .rvmrc 파일입니다 :
rvm use 1.9.2@turtles
이것은 gemset "거북이"를 사용하여, 당신의 RVM 컬렉션 루비 1.9.2의 최신 버전으로 전환됩니다. 지금 당신은 (내가 일을 끝낼로) 터미널에서 백 개 탭을 열고 그것을 가리키는 것 루비 버전에 대해 걱정하지 않을 수 있습니다.
from https://stackoverflow.com/questions/5176782/uninitialized-constant-activesupportdependenciesmutex-nameerror by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 왜 부분을 렌더링하기 전에 escape_javascript? (0) | 2020.02.05 |
---|---|
[RUBY-ON-RAILS] 레일 : 의존 => VS 파괴 : 의존 => : DELETE_ALL를 (0) | 2020.02.05 |
[RUBY-ON-RAILS] 레일에 대한 해제 액티브 4 (0) | 2020.02.05 |
[RUBY-ON-RAILS] 클립에 의해 URL에서 이미지 저장 (0) | 2020.02.05 |
[RUBY-ON-RAILS] " ''생산 '환경에 대한 secret_key_base` 없음"오류를 해결하는 방법 (4.1 레일) (0) | 2020.02.05 |