高木のブログ

公開しているGemの rubygems_mfa_required を有効にした

2022/01/04

公開しているGemで使っているRuboCopのバージョンを上げたら、以下の警告が出るようになった
v1.23.0から Gemspec/RequireMFA が追加された警告みたい

switchbot.gemspec:5:1: C: [Correctable] Gemspec/RequireMFA: metadata['rubygems_mfa_required'] must be set to 'true'.
Gem::Specification.new do |spec| ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

gemspecに以下を追加することで、MFAを設定しているアカウントでないとGemの更新や削除ができなくなるので、安全性が高くなる

gem_name.gemspec
+  spec.metadata['rubygems_mfa_required'] = 'true'

リリースする時にOPTコードを求められるようになる

$ bundle exec rake release
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
switchbot 0.5.1 built to pkg/switchbot-0.5.1.gem.
Tagged v0.5.1.
Pushed git commits and release tag.
Pushing gem to https://rubygems.org...
You have enabled multi-factor authentication. Please enter OTP code.
Code:

rubygems_mfa_required を有効にしないとしても、アカウントのMFAは設定しておいた方がいい
MFAの設定は https://rubygems.org/settings/edit で出来る

参考

個人gemにrubygems_mfa_requiredをつけた - くりにっき


ytkg

Written by ytkg, Twitter, GitHub