質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

7123閲覧

RubyInstaller for Windows のDevkitがインストールできない

issy

総合スコア9

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2020/08/20 09:05

前提・実現したいこと

RubyInstaller for Windows( https://rubyinstaller.org/downloads/ )から Ruby + Devkit 2.6.6-1(x64) をダウンロードし、インストールする時、Devkit のインストールで下記エラーとなり、Devkitが正常にインストールできない。

OSは、Windows 10 Pro バージョン1909、OSビルド 18363.1016

発生している問題・エラーメッセージ


| __ \ | | |_ | | | | | | |_
| |) | | |_ _ _ | | _ __ | | __ | | | ___ _ __ ) |
| _ / | | | '
| | | | | | | '
/ __| / _` | | |/ _ \ '/ /
| | \ \ |
| | |) | || || || | | __ \ || (| | | | / | / /
|
| __
,|.
/ _, |_____|| ||/__,||_|_|||__|
/ | _
|
/ | _ __ | | o __ | _ _
| (
) | |^| | | |(|()^/_>

1 - MSYS2 base installation
2 - MSYS2 system update (optional)
3 - MSYS2 and MINGW development toolchain

Which components shall be installed? If unsure press ENTER [1,3] 1

sh -lc true

'C:\WINDOWS\system32\drivers\etc\hosts' -> '/etc/hosts'
'C:\WINDOWS\system32\drivers\etc\protocol' -> '/etc/protocols'
'C:\WINDOWS\system32\drivers\etc\services' -> '/etc/services'
'C:\WINDOWS\system32\drivers\etc\networks' -> '/etc/networks'
gpg: /etc/pacman.d/gnupg/trustdb.gpg: 信用データベースができました
gpg: 究極的に信用する鍵が見つかりません
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/etc/pacman.d/gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
gpg: Generating pacman keyring master key...
gpg: 鍵710DB7F94553436Eを究極的に信用するよう記録しました
gpg: ディレクトリ'/etc/pacman.d/gnupg/openpgp-revocs.d'が作成されました
gpg: 失効証明書を '/etc/pacman.d/gnupg/openpgp-revocs.d/03873310EFF8E78CE4ADA523710DB7F94553436E.rev' に保管しました。
gpg: Done
==> 信用データベースを更新...
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u
==> msys2.gpg からキーを追加...
==> キーリングの信頼されたキーに署名...
-> キーに署名 D55E7A6D7CE9BA1587C0ACACF40D263ECA25678A...
-> キーに署名 123D4D51A1793859C2BE916BBBE514E53E0D0813...
-> キーに署名 B91BCF3303284BF90CC043CA9F418C233E652008...
-> キーに署名 9DD0D4217D75A33B896159E6DA7EF2ABAEEA755C...
==> 所有者信頼値をインポート...
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
gpg: inserting ownertrust of 4
==> 信用データベースを更新...
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: 深さ: 0 有効性: 1 署名: 4 信用: 0-, 0q, 0n, 0m, 0f, 1u
gpg: 深さ: 1 有効性: 4 署名: 3 信用: 0-, 0q, 0n, 4m, 0f, 0u
gpg: 深さ: 2 有効性: 3 署名: 0 信用: 3-, 0q, 0n, 0m, 0f, 0u
gpg: 8本の鍵をhkps://hkps.pool.sks-keyservers.netから更新
gpg: 鍵サーバの更新に失敗しました: 一般エラーです
==> エラー: キーサーバから特定のキーを更新できませんでした。
--> Installing /usr/share/info/assuan.info.gz ... done
--> Installing /usr/share/info/autoconf.info.gz ... done
--> Installing /usr/share/info/autoconf2.13.info.gz ... done
--> Installing /usr/share/info/autogen.info.gz ... done
--> Installing /usr/share/info/automake1.10.info.gz ... done
--> Installing /usr/share/info/automake1.11.info.gz ... done
--> Installing /usr/share/info/automake1.12.info.gz ... done
--> Installing /usr/share/info/automake1.13.info.gz ... done
--> Installing /usr/share/info/automake1.14.info.gz ... done
--> Installing /usr/share/info/automake1.15.info.gz ... done
--> Installing /usr/share/info/automake1.16.info.gz ... done
--> Installing /usr/share/info/automake1.6.info.gz ... done
--> Installing /usr/share/info/automake1.7.info.gz ... done
--> Installing /usr/share/info/automake1.8.info.gz ... done
--> Installing /usr/share/info/automake1.9.info.gz ... done
--> Installing /usr/share/info/automake-history1.12.info.gz ...install-info: warning: /usr/share/info/automake-history1.12.info.gz' に Info dir 用の項目がありません done --> Installing /usr/share/info/automake-history1.13.info.gz ...install-info: warning: /usr/share/info/automake-history1.13.info.gz' に Info dir 用の項目がありません
done
--> Installing /usr/share/info/automake-history1.14.info.gz ...install-info: warning: /usr/share/info/automake-history1.14.info.gz' に Info dir 用の項目がありません done --> Installing /usr/share/info/automake-history1.15.info.gz ...install-info: warning: /usr/share/info/automake-history1.15.info.gz' に Info dir 用の項目がありません
done
--> Installing /usr/share/info/automake-history1.16.info.gz ...install-info: warning: `/usr/share/info/automake-history1.16.info.gz' に Info dir 用の項目がありません
done
--> Installing /usr/share/info/autosprintf.info.gz ... done
--> Installing /usr/share/info/bash.info.gz ... done
--> Installing /usr/share/info/coreutils.info.gz ... done
--> Installing /usr/share/info/diffutils.info.gz ... done
--> Installing /usr/share/info/find.info.gz ... done
--> Installing /usr/share/info/find-maint.info.gz ... done
--> Installing /usr/share/info/flex.info.gz ... done
--> Installing /usr/share/info/gawk.info.gz ... done
--> Installing /usr/share/info/gawkinet.info.gz ... done
--> Installing /usr/share/info/gawkworkflow.info.gz ... done
--> Installing /usr/share/info/gcrypt.info.gz ... done
--> Installing /usr/share/info/gdbm.info.gz ... done
--> Installing /usr/share/info/gettext.info.gz ... done
--> Installing /usr/share/info/gmp.info.gz ... done
--> Installing /usr/share/info/gnupg.info.gz ... done
--> Installing /usr/share/info/gnutls.info.gz ... done
--> Installing /usr/share/info/gnutls-guile.info.gz ... done
--> Installing /usr/share/info/gpgme.info.gz ... done
--> Installing /usr/share/info/grep.info.gz ... done
--> Installing /usr/share/info/gzip.info.gz ... done
--> Installing /usr/share/info/history.info.gz ... done
--> Installing /usr/share/info/inetutils.info.gz ... done
--> Installing /usr/share/info/info-stnd.info.gz ... done
--> Installing /usr/share/info/ksba.info.gz ... done
--> Installing /usr/share/info/libffi.info.gz ... done
--> Installing /usr/share/info/libgomp.info.gz ... done
--> Installing /usr/share/info/libidn2.info.gz ... done
--> Installing /usr/share/info/libquadmath.info.gz ... done
--> Installing /usr/share/info/libtasn1.info.gz ... done
--> Installing /usr/share/info/libtool.info.gz ... done
--> Installing /usr/share/info/libunistring.info.gz ... done
--> Installing /usr/share/info/m4.info.gz ... done
--> Installing /usr/share/info/make.info.gz ... done
--> Installing /usr/share/info/mpfr.info.gz ... done
--> Installing /usr/share/info/nettle.info.gz ... done
--> Installing /usr/share/info/pinentry.info.gz ... done
--> Installing /usr/share/info/readline.info.gz ... done
--> Installing /usr/share/info/rluserman.info.gz ... done
--> Installing /usr/share/info/sed.info.gz ... done
--> Installing /usr/share/info/tar.info.gz ... done
--> Installing /usr/share/info/texinfo.info.gz ... done
--> Installing /usr/share/info/time.info.gz ... done
--> Installing /usr/share/info/wget.info.gz ... done
--> Installing /usr/share/info/which.info.gz ... done

該当のソースコード

ソースコード

試したこと

ウィルスバスターが邪魔をする旨の書き込みを見たので、ウィルスバスターをアンインストールしてやってみましたが同様にダメでした。

補足情報(FW/ツールのバージョンなど)

いままで簡単にインストールできていたので訳がわかりません。
MSYS2のニュースサイト(https://www.msys2.org/news/#2020-06-29-new-packagers)にも書き込みがありますが、よくわかりません。
どうかよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

issy

2020/08/20 11:13 編集

ありがとうございます。 Which components shall be installed? If unsure press ENTER [1,3] 2 を実行すると、同じ画面(メッセージは日本語)になります。 同様の現象です。
guest

回答1

0

ベストアンサー

Issueを見る限り、RubyInstallerのDevKitに含まれているMSYS2が古く新しい署名鍵が含まれないが、その追加もridk installの処理で自動的にできないことが問題のようです。RubyInstaller側で修正版がでるか、自分でパッチを当てないと自動的なインストールは難しいでしょう。

このような場合、私としては、RubyInstallerとは別にMSYS2をインストールすることをお勧めします。ridkは付属のDevKitだけではなく、Rubyと同じレベルにインストールされたMSYS2があれば、そちらを見にいけるようになっています。

[1] 二つのインストーラーをダウンロードしておきます。なお、インストール済みがある場合は、アンインストールして綺麗にしておく方が良いかもしれません。

[2] msys2-x86_64-20200720.exeを実行し、MSYS2をインストールします。インストール先はデフォルトの"C:\msys64"にします。

[3] MSYS2のMSYSを起動し、次のコマンドを実行します。

pacman -Syuu

[4] ターミナルの再起動を求められたら、再起動し、同じコマンドを実行します。アップデートが必要なパッケージがなくなるまで繰り返します。

[5] rubyinstaller-2.6.6-1-x64.exeを実行し、Rubyをインストールします。インストール先はデフォルトの"C:\Ruby26-x64"です。それ以外のオプションはお好みでいいです。

[6] インストールの最後の"Run 'ridk install' to setup MSYS2 ..."のチェックは外して終了します。

[7] Rubyのコマンドプロンプトを起動します。

[8] ridk versionを実行すして、msys2についてpath: C:\msys64となっていることを確認してください。

[9] ridk installを実行し、[1, 3]となっているところをそのままEnterします。1の処理はMSYS2が入っているので省略されます。オプションの2はすでに手動でアップデートしているので不要です。最後の3だけが実行されます。

[10] 最後に下記メッセージがあれば終了です。

Install MSYS2 and MINGW development toolchain succeeded

[11] 正常に終わっていればridk exec gcc -versionでGCCのバージョンを確認できます。

ridkが正しく見に行くには、MSYS2とRubyのインストールしている場所が同じであるある必要があります。また、RubyInstnallerのRubyでJITが有効に働くには"C:\msys2"にMSYS2がある必要があるので、JITがちゃんと動くようになります(ただし、Windows環境でのJITは目に見えるほどの速度向上は見られないようです)。

その他、Chocolateyを使ってrubyとmsys2両方を入れるという方法もあります。Chocolateyで入れた場合は両方とも"C:\tools"配下にインストールされますが、問題なくridkはmsys2を見に行けます。(めんどくさがり屋の私は、通常はこちらの方法を使っていますが、上の方法はWidnows Sandboxで動作は確認済みですので、ご安心を)

投稿2020/08/20 11:30

編集2020/08/20 11:38
raccy

総合スコア21739

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

issy

2020/08/20 12:50

教えていただいた通り、 [11] までやって下記となりました。 $ ridk exec gcc --version gcc (Rev1, Built by MSYS2 project) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. gem install tk  でコンパイルも無事できました。 ただ、ruby irbtk.rb をすると「tcltklib.so (LoadError)」が起こります。 $ ruby irbtk.rb Traceback (most recent call last): 2: from irbtk.rb:14:in `<main>' 1: from C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- tk (LoadError) 6: from irbtk.rb:14:in `<main>' 5: from C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require' 4: from C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require' 3: from C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require' 2: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/tk-0.2.0/lib/tk.rb:7:in `<top (required)>' 1: from C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' C:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': 126: 指定されたモ ジュールが見つかりません。 - C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/tk-0.2.0/lib/tcltklib.so (LoadError) exit status 1 「C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/tk-0.2.0/lib/tcltklib.so」は存在するのですが、LoadErrorになります。 何がいけないのでしょうか? 別件になるのかもしれませんが、よろしくお願いいたします。
raccy

2020/08/20 13:30

ここでやり取りするには限界があるので、別の質問として立てた方が良いと思います。その方が、他の解決策を知っている人から回答が得られる可能性も高いので。
issy

2020/08/20 15:20

raccy様、Devkitをインストールすることができました。 大変お世話になり、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問