이전 2.1.1 Ruby on Rails 애플리케이션이 있으며 Ruby 1.8.7을 사용하도록 시스템이 업그레이드되었습니다. 원래 1.8.5 정도를 사용했습니다.
성능상의 이유로 Ruby 1.9.x로 업그레이드하고 새로운 Ruby on Rails로 업그레이드하고 싶습니다.
다른 Ruby 버전과 Ruby on Rails 버전 간의 쉬운 호환성 차트를 찾을 수 없습니다.
2.1.1이 Ruby 1.9.x에서 작동합니까? 그렇지 않은 경우 얼마나 먼저 업그레이드해야하며 어떤 종류의 문제가 발생할 가능성이 있습니까? 내 응용 프로그램은 데이터베이스 계층에 대해 복잡한 작업을 수행하지만 나머지는 상당히 간단합니다.
답변
이것은 오래된 질문이지만 레일이 루비 버전에 대해 테스트되었다는 사실은 해당 버전의 루비에서 작동해야한다는 좋은 표시입니다.
2019 년 4 월 9 일부터 Rails의 stable 브랜치는 자동 테스트를 위해 Buildkite를 사용하며, Rails 브랜치에서 테스트 한 루비 버전 목록은 다음과 같습니다.
레일스 6.0
>= 2.5.0
레일스 5.2
>= 2.2.2
< 2.7
( https://github.com/rails/rails/issues/38426 참조 )
레일스 5.1
>= 2.2.2
레일스 5.0
>= 2.2.2
레일즈 4.2
>= 1.9.3
레일스 4.1
>= 1.9.3
2019 년 4 월 9 일 이전에 3.0 이후의 안정적인 Rails 브랜치는 자동화 된 테스트에 travis-ci를 사용하며, Rails 브랜치에서 테스트 한 루비 버전 목록은 다음과 같습니다.
레일즈 3.0
- 1.8.7
- 1.9.2
- 1.9.3
레일즈 3.1
- 1.8.7
- 1.9.2
- 1.9.3
레일스 3.2
- 1.8.7
- 1.9.2
- 1.9.3
- 2.0.0
- 2.1.8
- 2.2.6
- 2.3.3
레일스 4.0
- 1.9.3
- 2.0.0
- 2.1
- 2.2
레일스 4.1
- 1.9.3
- 2.0.0
- 2.1
- 2.2.4
- 2.3.0
레일즈 4.2
- 1.9.3
- 2.0.0-p648
- 2.1.10
- 2.2.10
- 2.3.8
- 2.4.5
레일스 5.0
- 2.2.10
- 2.3.8
- 2.4.5
레일스 5.1
- 2.2.10
- 2.3.7
- 2.4.4
- 2.5.1
레일스 5.2
- 2.2.10
- 2.3.7
- 2.4.4
- 2.5.1
레일스 6.0
- 2.5.3
- 2.6.0
( https://www.hmallett.co.uk/2018/08/ruby-and-ruby-on-rails-version-compatibility/에서 )
답변
3.2 미만 버전 :
http://www.devalot.com/articles/2012/03/ror-compatibility
4.0 이상 버전 :
- Rails 4는 2.0을 권장합니다 (src : Rails 블로그)
- Rails 4.1 / 4.2 권장 2.1 (src : Rails 이전 다운로드 페이지)
- Rails 4.2.1은 2.2를 권장합니다 (src : Rails 이전 다운로드 페이지).
- Rails 5.0에는 2.2.2+가 필요합니다 ( Rails 블로그 )
레일스 3.2
나는 이러한 권장 사항 (주로 Ruby 2.0 및 2.1에서 Rails 3.0을 실행)에서 벗어나려고 시도했지만 여러 가지 이상한 문제가 발생했습니다.
답변
Ruby on Rails 업그레이드에 대한 Rails 가이드에는 Ruby 버전 에 대한 섹션이 있습니다 . 이것은 Rails 핵심 팀에 의해 제어되기 때문에 아마도 최고의 소스 일 것입니다.
2016 년 8 월 현재 Rails 가이드는 다음과 같습니다.
1.3 Ruby 버전
Rails는 일반적으로 출시 될 때 가장 최근에 출시 된 Ruby 버전에 가깝게 유지됩니다.
- Rails 5에는 Ruby 2.2.2 이상이 필요합니다.
- Rails 4는 Ruby 2.0을 선호하며 1.9.3 이상이 필요합니다.
- Rails 3.2.x는 Ruby 1.8.7을 지원하는 마지막 브랜치입니다.
- Rails 3 이상에는 Ruby 1.8.7 이상이 필요합니다. 모든 이전 Ruby 버전에 대한 지원이 공식적으로 중단되었습니다. 가능한 한 빨리 업그레이드해야합니다.
답변
릴리스 노트에서 찾기가 어렵습니다. 얼마 동안 인터넷 검색을 한 후 http://www.devalot.com/articles/2012/03/ror-compatibility 에서만 찾을 수 있습니다 .
답변
Rails 2.2 릴리스 노트에서 : (정확히 요청한 것은 아님)
스레드 안전성과 함께 Rails가 JRuby 및 곧 출시 될 Ruby 1.9에서 잘 작동하도록하기 위해 많은 작업이 수행되었습니다. 루비 1.9가 움직이는 타겟이 되었기 때문에 에지 루비에서 에지 레일즈를 실행하는 것은 여전히별로 좋지 않은 제안이지만 레일스는 루비 1.9가 출시되면 루비 1.9로 전환 할 준비가되어 있습니다.
저는 Rails 2.1.1이 Ruby 1.9와 호환되지 않는다고 믿고 있습니다. 그런 환경에서는 여러분이 혼자 일 것입니다. 물론 테스트 슈트가 포괄적이면 시도해 볼 수 있습니다. 또한 프로젝트에 사용 된 다른 모든 보석을 확인해야하므로 정말 번거로울 수 있습니다.
이 Rails 버전을 고수한다면 1.9.x로 마이그레이션하지 않을 것입니다. 업그레이드를 선호한다고 언급했듯이 Rails 3.0 릴리스 노트에 언급 된 지원 중단을 검토하고 코드를 수정해야합니다. 요약 된 목록은 Rails 3에서 사용되지 않는 메소드 및 API 에서 찾을 수 있습니다.
답변
일반적으로 Ruby 플랫폼이 선호하는 Rails 버전에 적합한 지 확인할 수있는 두 곳이 있습니다.
- Rails 블로그 의 릴리스 발표
guides/source
디렉토리 의 릴리스 노트 ( Rails Guides 및 Github 웹에도 있음 )
.travis.yml
버전 의 파일 을 보는 것도 유용 할 수 있습니다 . 이 rvm
항목은 개발자가 자동화 된 테스트를 실행할 수있는 Ruby 버전을 제안합니다.
당연히 자신의 테스트와 함께 권장 사항을 사용하십시오.
답변
Rails Guides 는 “Getting Started with Rails”아래에 정보가 있습니다. 가이드의 각 버전에서 정보를 가져 왔습니다.
Rails 3.2 - The Ruby language version 1.8.7 or higher
Rails 4.0 - The Ruby language version 1.9.3 or newer
Rails 4.1 - The Ruby language version 1.9.3 or newer
Rails 4.2 - The Ruby language version 1.9.3 or newer
내가 말할 수있는 한 이것은 최소 버전에서 얻을 수있는 한 기본 소스에 가깝습니다 . 권장 버전 은 gamov의 답변 을 참조하십시오 .