Rails5.2.2로 업데이트

6747 단어 rails5.2RailsRails5

1. 전제



환경: AWS Cloud9
Ruby 5.1.6→5.2.2로 업데이트한 경위와 했던 것을 정리합니다.
이번에는 아무 코딩도 되지 않은, 확실한 상태의 Rails 환경을 업데이트했습니다.
에러 등 나올 리가 없고, 재미없는 비망록입니다.
초보자이므로 손 부드럽게 지적하실 수 있으면 다행입니다.
리포지토리: htps : // 기주 b. 코 m / 유메 ぉ g / Dodo _ st

2. 경위



간단히 말해서 Github의 보안 경고를 받아 Rails를 업데이트했습니다.

3. 했던 일



Rails 튜토리얼을 참고로 웹 앱을 만들어 보려고 튜토리얼을 참고로 Rails new
$ rails _5.1.6_ new sample_app

Gemfile을 다음과 같이 업데이트

Gemfile
source 'https://rubygems.org'

gem 'rails',        '5.1.6'
gem 'puma',         '3.9.1'
gem 'sass-rails',   '5.0.6'
gem 'uglifier',     '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks',   '5.0.1'
gem 'jbuilder',     '2.7.0'

group :development, :test do
  gem 'sqlite3', '1.3.13'
  gem 'byebug',  '9.0.6', platform: :mri
end

group :development do
  gem 'web-console',           '3.5.1'
  gem 'listen',                '3.1.5'
  gem 'spring',                '2.0.2'
  gem 'spring-watcher-listen', '2.0.1'
end

group :test do
  gem 'rails-controller-testing', '1.0.2'
  gem 'minitest',                 '5.10.3'
  gem 'minitest-reporters',       '1.1.14'
  gem 'guard',                    '2.13.0'
  gem 'guard-minitest',           '2.4.4'
end

group :production do
  gem 'pg', '0.20.0'
end

Rails 튜토리얼(제4판)에서는 Bitbucket에 push입니다만 이번은 Github에 push했습니다.
위의 작업을 완료하면 Github에서 보안 경고 메일을 받았습니다.
actionview가 오래되었습니다.

puma가 오래되었습니다.


3.1 보안 경고에 대한 조치



3.1.1puma 업데이트



puma 버전을 새 버전으로 지정

Gemfile
...
gem 'puma',         '3.12.2'
...

저장하고 bundle update하고 Github에 push하면 경고가 하나 사라졌습니다.

3.1.2 actionview 업데이트



위의 Gemfile을 내려다 보더라도 actionview는 명시 적으로 지정하지 않았으며, 뭐, 어디에 쓰고 있습니까? 그리고 헤매었습니다.
Gemfile.lock에 쓰여 있었기 때문에 거기를 직접 고칠 것 같아 피로했습니다만 밟아 머물고,
우선 Gemfile에 명시적으로 지정하여 bundle update를 했습니다.

Gemfile
...
gem 'actionview',         '5.1.6.2'
...

그러면 다음 오류가 발생합니다.
Bundler could not find compatible versions for gem
"actionview":
  In Gemfile:
    actionview (= 5.1.6.2)

rails (= 5.1.6) was resolved to 5.1.6, which
depends on
      actionview (= 5.1.6)

rails의 버전이 맞지 않을까 생각하고 착각하고 Rails의 버전을 올리기로 했습니다.
(이때 구그는 맨 위에 나온 결과가 Rails의 업데이트였는데, 만약 5.1.6.2라고 지정한 것이 안 되었는가···?)

3.1.3 Rails 업데이트



먼저 Gemfile의 Rails 버전을 다시 씁니다.

Gemfile
...
gem 'rails',        '5.2.2'
...

이 후에는 결정의 흐름입니다.
$ bundle update
$ git add -A
$ git commit -m "rails upate"
$ git push

오류없이 안전하게 업데이트가 완료되었습니다.


마지막으로



이 기사를 쓸 때 Gemfile의 actionview 지정이 오류의 원인이었다고 생각했지만 맞습니까?
프라이빗한 개발이기 때문에 결과 오라이입니다만 좀 더 신중하게 개발하지 않으면 끊임없이 생각합니다.

좋은 웹페이지 즐겨찾기