RubyInstallerでMSYS2 and MINGW development toolchainをインストルール中にエラーが起きる
rubyinstaller 2.4.1-1-x64 をインストールするときに"Run 'ridk install' to install MSYS2 and development toolchan."をチェックし、コンソールで"3 - MSYS2 and MINGW development toolchain"を選んだときに、"error: target not found: mingw-w64-x86_64-winstorecompat-git" というエラーが出てインストールできない。
OSはWindows 10 Home 64bitです。
1 - MSYS2 base installation
2 - MSYS2 repository update
3 - MSYS2 and MINGW development toolchain
Which components shall be installed? 3
MSYS2 seems to be already installed
Install MSYS2 and MINGW development toolchain ...
> pacman -S --needed --noconfirm autoconf autoconf2.13 autogen automake-wrapper automake1.10 automake1.11 automake1.12 automake1.13 automake1.14 automake1.15 automake1.6 automake1.7 automake1.8 automake1.9 diffutils file gawk grep libtool m4 make patch pkg-config sed texinfo texinfo-tex wget mingw-w64-x86_64-binutils mingw-w64-x86_64-crt-git mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-headers-git mingw-w64-x86_64-libmangle-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-tools-git mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-winstorecompat-git
warning: autoconf-2.69-3 is up to date -- skipping
中略
warning: mingw-w64-x86_64-winpthreads-git-5.0.0.4634.697f757-1 is up to date -- skipping
error: target not found: mingw-w64-x86_64-winstorecompat-git
Install MSYS2 and MINGW development toolchain failed
Installation failed: pacman failed
原因は、すでにシステムにMSYS2がインストールされているが、バージョンが古いためのようである。
回復の仕方
方法は2つ。
- インストールされているMSYS2のシェルを起動してパッケージのアップデート行う。
- 既存のMSYS2を消しても良いならアンインストール後、最新のMSYS2をインストールしてアップデートを行う。
なお、実行しているRubyInstaller(コンソールの方)はそのままでもよい。
MSYS2のアップデート方法
キャッシュを全て削除してパッケージを更新する。
$ pacman -Scc #全てy
$ pacman -Syy
$ pacman -Suu
ファイルのダウンロード中に何度も切断され失敗するような場合は、wget をインストールして、/etc/pacman.conf の[options]に下記の1行を追加して再試行する。
XferCommand = /usr/bin/wget --timeout=30 --tries=100 --passive-ftp -c -O %o %u
MSYS2 and MINGW development toolchainのインストール
MSYS2のパッケージを更新後、MSYS2 and MINGW development toolchainのインストールを再度試みる。
1 - MSYS2 base installation
2 - MSYS2 repository update
3 - MSYS2 and MINGW development toolchain
Which components shall be installed? 3
MSYS2 seems to be already installed
Install MSYS2 and MINGW development toolchain ...
> pacman -S --needed --noconfirm autoconf autoconf2.13 autogen automake-wrapper automake1.10 automake1.11 automake1.12 automake1.13 automake1.14 automake1.15 automake1.6 automake1.7 automake1.8 automake1.9 diffutils file gawk grep libtool m4 make patch pkg-config sed texinfo texinfo-tex wget mingw-w64-x86_64-binutils mingw-w64-x86_64-crt-git mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-headers-git mingw-w64-x86_64-libmangle-git mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-tools-git mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-winstorecompat-git
warning: autoconf-2.69-3 is up to date -- skipping
中略
warning: libtool-2.4.6-2 is up to date -- skipping
resolving dependencies...
looking for conflicting packages...
Packages (32) glib2-2.48.2-1 libgc-7.6.0-1 libgcrypt-1.6.4-1
libguile-2.0.14-1 libunistring-0.9.7-1 libxslt-1.1.29-1
autoconf2.13-2.13-2 autogen-5.18.12-1 diffutils-3.5-1
file-5.30-1 gawk-4.1.4-2 grep-3.0-1 m4-1.4.18-1 make-4.2.1-1
mingw-w64-x86_64-binutils-2.28-1
mingw-w64-x86_64-crt-git-5.0.0.4834.33ee6cab-1
mingw-w64-x86_64-gcc-6.3.0-3 mingw-w64-x86_64-gcc-libs-6.3.0-3
mingw-w64-x86_64-headers-git-5.0.0.4836.670da35c-1
mingw-w64-x86_64-libmangle-git-5.0.0.4760.d3089b5-1
mingw-w64-x86_64-libwinpthread-git-5.0.0.4833.f057c525-1
mingw-w64-x86_64-make-4.2.1-1
mingw-w64-x86_64-pkg-config-0.29.2-1
mingw-w64-x86_64-tools-git-5.0.0.4760.d3089b5-1
mingw-w64-x86_64-winpthreads-git-5.0.0.4833.f057c525-1
mingw-w64-x86_64-winstorecompat-git-5.0.0.4760.d3089b5-1
patch-2.7.5-1 pkg-config-0.29.2-1 sed-4.4-2 texinfo-6.3-1
texinfo-tex-6.3-1 wget-1.19.1-1
Total Download Size: 59.66 MiB
Total Installed Size: 402.53 MiB
Net Upgrade Size: 58.96 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
MSYS2にすでにインストールされているパッケージによるだろうが、400MB以上ディスクを使用します。
追記
こんな面倒なことしなくても1,2,3とすればいいだけのようでした。
Windows環境でRailsを動かしてみた - 或るプログラマの開発日記
インストール時に"Use UTF-8 as default external encoding."にチェックを入れておいたほうが良いこともわかりました。もし付け忘れたときは、環境変数に"RUBYOPT=-Eutf-8"を追加しましょう。
あと、toochainのインストーラは、"/Ruby24-x64/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/ridk.rb" にありました。