Snorby/Ruby 종속성 문제 시작 문제

Snorby/Ruby 종속성 문제 시작 문제

CentOS 6.6 시스템에 Snorby를 설치하려고 하는데 Ruby와 Gemfile에 계속 문제가 발생합니다. 내 Gemfile을 편집해야 하거나 설치 경로와 관련이 있다고 생각합니다. 어떤 도움이라도 주시면 감사하겠습니다.

bundle exec rake snorby:setup

에러 메시지

gemspec이 /var/www/html/snorby/vendor/bundle/ruby/1.9.1/bundler/gems/snorby_cas_authenticatable-/devise_cas_authenticatable.gemspec유효하지 않습니다. 유효성 검사 오류는 다음과 같습니다.

duplicate dependency on devise (>= 1.0.6), (>= 0) use:
add_runtime_dependency 'devise', '>= 1.0.6', '>= 0'

답변1

devise_case_authenticable gemspec 파일 /usr/local/rvm/gems/ruby-1.9.3-p551/bundler/gems/snorby_cas_authenticatable-281a58b36368/devise_cas_authenticatable.gemspec에 1.0.6 종속성을 추가하여 작동하게 했습니다.

if s.respond_to? :specification_version then
    s.specification_version = 3
    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
      s.add_runtime_dependency(%q<devise>, [">= 0"])
      s.add_development_dependency(%q<ruby-debug>, [">= 0"])
      s.add_development_dependency(%q<jeweler>, [">= 0"])
      **s.add_runtime_dependency(%q<devise>, [">= 1.0.6"])**
      s.add_runtime_dependency(%q<rubycas-client>, [">= 2.2.1"])
    else
      s.add_dependency(%q<devise>, [">= 0"])
      s.add_dependency(%q<ruby-debug>, [">= 0"])
      s.add_dependency(%q<jeweler>, [">= 0"])
      **s.add_dependency(%q<devise>, [">= 1.0.6"])**
      s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
    end
  else
    s.add_dependency(%q<devise>, [">= 0"])
    s.add_dependency(%q<ruby-debug>, [">= 0"])
    s.add_dependency(%q<jeweler>, [">= 0"])
    **s.add_dependency(%q<devise>, [">= 1.0.6"])**
    s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
  end
end

그런 다음 변경

gem 'devise_cas_authenticatable',  :git => 'https://github.com/Snorby/snorby_cas_authenticatable.git'

Snorby www 루트의 Snorby gemfile에서

gem 'devise_cas_authenticatable'

내 생각에는 이것이 한 번 실패한 후에만 작동하여 devise_cas_authenticable gem이 설치될 것입니다.

답변2

저에게는 효과가 없었습니다. 대신 언급한 파일로 이동했습니다.

/usr/local/rvm/gems/ruby-1.9.3-p551/bundler/gems/snorby_cas_authenticatable-281a58b36368/devise_cas_authenticatable.gemspec

그러나 여기서 나는 다음 세 줄에 대해 주석을 달았습니다.

if s.respond_to? :specification_version then
    s.specification_version = 3
    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
      #####s.add_runtime_dependency(%q<devise>, [">= 0"])
      s.add_development_dependency(%q<ruby-debug>, [">= 0"])
      s.add_development_dependency(%q<jeweler>, [">= 0"])
      s.add_runtime_dependency(%q<devise>, [">= 1.0.6"])
      s.add_runtime_dependency(%q<rubycas-client>, [">= 2.2.1"])
    else
      #####s.add_dependency(%q<devise>, [">= 0"])
      s.add_dependency(%q<ruby-debug>, [">= 0"])
      s.add_dependency(%q<jeweler>, [">= 0"])
      s.add_dependency(%q<devise>, [">= 1.0.6"])
      s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
    end
  else
    #####s.add_dependency(%q<devise>, [">= 0"])
    s.add_dependency(%q<ruby-debug>, [">= 0"])
    s.add_dependency(%q<jeweler>, [">= 0"])
    s.add_dependency(%q<devise>, [">= 1.0.6"])
    s.add_dependency(%q<rubycas-client>, [">= 2.2.1"])
  end
end

나중에는 잘 일했어요.

관련 정보