いよいよWordmoveをしていきたいと思いますが、前回、構築できたローカル環境のKUSANAGIでWordmoveしていきたいと思いましたが、タイトルの通りWordmoveまで行きついてません...。
Wordmoveをインストールするために
まずは、仮想マシン側にWordmoveコマンドが使えるようにWordmoveをインストールしていく必要があります。
まずは、Rubyをインストール、rubygemsをインストール、でWordmoveがインストールできる、の流れです。
⇩ 下記サイトによるとRubyをインストールするのはローカルマシンで良いらしい
・wordmoveを使ってWordPressサーバのデータを開発機に再現 - Qiita
⇩ 下記サイトによるとDockerのコンテナ内にインストールしてるようです
・Docker for Macで始めるお手軽WordPress環境の様々なカスタマイズ – OTTAN.XYZ
で、毎回、分からなくなるわけです、結局、インストール場所はどこ?ということになるわけで。
OSは何ですか
一番のネックはここですかね、 KUSANAGI Runs on Docker で作成した仮想マシンに直にdockerコンテナが格納されたので、OS(CentOSやUbuntu)が入っているのかどうかも分からない。
いや、仮想マシン自体にはCoreOSでわけの分からないBoot2Docker 17.05.0-ce (TCL 7.2)ってのが搭載されているらしい。前まで、boot2dockerコマンドだったのが非推奨になり、docker-machineコマンドになったらしいけど、内部はBoot2Dockerなんかい!紛らわしいわい!
ホストOSとDockerコンテナの同期
できるらしい。 ホストとコンテナのファイルシステムを相互同期できるらしい。
- docker-sync
- unison
の2種類のやり方があるようです。
・docker-syncを使わないホスト・コンテナ間での爆速ファイル同期 - Qiita
・docker-syncでホスト-コンテナ間を爆速で同期する - Qiita
ですが、WordmoveはWordPressがインストールされている場所でwordmove initコマンドを実行する(Movefileを作成する)必要があるんでした。はたして、ホストOSにインストールしたRubyのコマンドが、dockerコンテナで使えるのか試したいと思います。
結論:まだ、Wordmoveまでたどり着いてないので保留ということで。
RubyをWindowsにインストールするには
Rubyをインストールした場合は、管理ツールでバージョン管理するのが良いようです。
Windowsの場合は選択肢はなく、uru(Unleash Ruby) 一択のようです。
※ uru は、Chocolateyでパッケージ化されていないため、直接ダウンロードする。
⇩ 下記サイトが詳しいので参考にさせていただいてます。
・初心者必見!Ruby開発環境構築おすすめの方法【Mac/Windows別】 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
uruをインストール
jonforums / uru / wiki / Downloads — Bitbucket にアクセスします。Windowsのものを選択します。(curlコマンドからのダウンロードは不具合が出たので普通にリンクをクリックしてダウンロードをオススメします。)
今回は練習のために、コマンドでインストールするため右クリックで『リンクのアドレスをコピー(E)』してます。面倒な場合は直接ダウンロードしましょう。
保存したい場所にフォルダを作っておきます。自分はCドライブの容量が心もとないので、E:¥toolsというフォルダを作成してます。
ConEmuを起動しgit bash(curlコマンドが使えるので)を開きます。コマンドを入力します。
気をつけたいのはcurlコマンドで指定するurlの末尾に『/』がついてるとエラーになります。
・macはwgetがないので、curlを使う。 - Shinichi Nishikawa's
cd /E/tools curl -O https://bitbucket.org/jonforums/uru/downloads/uru-0.8.3-windows-x86.7z
フォルダにダウンロードされました。 7zに圧縮されているので展開(解凍)する必要があります。
⇩ 下記サイトを参考に7-zipをインストール
・7-ZipをWindows10にインストールする方法 | パソコン@エンジニアの休日
ダウンロード | 7-Zip でダウンロードできます。
コマンドラインバージョンは7zで圧縮されているので、必然的にexeタイプもインストールする必要があります。
『ダウンロード』 をクリックしてファイルがダウンロードされたら、E:¥toolsに配置します。(curlコマンドでダウンロードすると展開ができなかったです)
コマンドで7-zipを使うために、まずは、exeを実行してインストールします。
『7-Zip File Manager』を起動します。
『7z1700-extra.7z』を選択し、『展開』をクリックし、『OK』。
展開されます。
名前が長いので、『7za』にリネームしましょう。(フォルダ名は何でも好きに決めて大丈夫そうです。)
『E:¥tools¥7za』 を環境変数に追加する必要があります。
前に知らずに使って痛い目を見たsetxコマンドでリベンジ。
setx PATH "%PATH%;E:\tools\7za"
・SETX コマンドで環境変数を永続的に設定する - Qiita
今回も失敗!Docker Toolboxのパスが消えてる!
%PATH%ってところがユーザー環境変数ではなく、システム環境変数と判定されちゃうみたいですね、駄目だコリャ。
変更前
変更後
setxは使わないほうが良いのかしら。
ConEmuを新しく起動してgit bashで『7za』と入力して、7-zipの譲歩が表示されればOKです。
curlコマンドでおかしくなってた
uru の圧縮ファイルも展開(解凍)しようとしたらエラーになってしまう。
jonforums / uru / wiki / Downloads — Bitbucket のファイルをコマンドを使わずダウンロードして上書きしたところ、展開(解凍)できました。
cd /E/tools 7za x -y uru-0.8.3-windows-x86.7z
『uru_rt.exe』ファイルが展開されました。
『uru』フォルダを作って、そこに『uru_rt.exe』を配置しました。(場所はどこでも大丈夫そうです)
環境変数を設定します。こりずに、コマンドから実行しました。
setx PATH "%PATH%;C:\Program Files\Docker Toolbox;E:\tools\7za;E:\tools\uru"
そしたら、ConEmuを新しく起動し、git bashを開きます。
cd /E/tools/uru uru_rt admin install
上手くいってるのか分からんですが、uru_rtコマンドが使えてるようです。
uruは、Rubyの管理などをしてくれるらしいですが、Rubyのインストールはしてくれないようなので、Rubyを自分でインストールする必要があります。
RubyInstallerとRubyInstaller2
なんでも、RubyInstallerはメンテナンスしていた人が忙しすぎて更新が止まったそうで、Ruby2.4以降はRubyInstaller2 を使うようです。
・RubyInstaller2でWindows環境にRuby 2.4 + Rails 5.0.2をインストールする - Qiita
Git for WindowsとMsys2は共存できないので
Ruby on Rails5系で必要なライブラリ(Nokogiriやsqlite3のように、Cのライブラリを利用するgemをインストールする場合)で、Msys2が必要なようです。共存できないようなので致し方ないということで、Git for Windowsをアンインストール。
git bashはすべて閉じておきます。
が、しかし、『現在のプログラムのアンインストールまたは変更が完了するまでお待ちください』 が3時間以上進展なし、流石におかしい...。
・shin'nosukeさんのアレグロモデラート:現在のプログラムのアンインストールまたは変更が完了するまで、待てない
⇧ 下記サイトによると、『Process Explorer』というツールでプロセスの親子関係が分析できるようです。なんでも、Windowsの場合コマンドだと、Linuxのpsのようなものを再現するのが難しいようです。
Process Explorer でダウンロードします。『Download Process Explorer』をクリックします。
ダウンロードしたものを適当な場所に展開します。(怒られたので)
『procexp64.exe』をダブルクリックすると初回のみ、同意を求められるので『agree』。
起動しました。 『UninstallMoniter.exe』『Uninst.exe』を右クリックして『Kill Process』したところ、アンインストールできるようになりました。
・Windowsの高機能タスクマネージャ「Process Explorer」: 小粋空間
Msys2のインストール
git bashが亡くなったいま、使えるのはコマンドプロンプト(もしくはPowerShell)ということで、ここからはコマンドプロンプトを使う感じです。
MSYS2 installation · msys2/msys2 Wiki · GitHub にアクセスして、『Downloading』の『64-bit』をクリックします。
『msys2-base-x86_64-20161025.tar.xz』をクリックしてダウンロードします。
ダウンロードした圧縮ファイルをE:¥toolsに移動しておきます。
コマンドプロンプトで、圧縮ファイルの場所まで移動したら、7-zipで展開(解凍)していきます。
・CD (or CHDIR)/カレントディレクトリ/ドライブの変更
cd /d E:\tools
そしたら、展開。
7za x -y msys2-base-x86_64-20161025.tar.xz
『msys2-base-x86_64-20161025.tar』ができるので、また展開。(一気に展開する方法が分かりません。 )
7za x -y msys2-base-x86_64-20161025.tar
『msys64』フォルダの中に「msys2_shell.cmd」があるはずなのでダブルクリックでshellを起動させます。
Msys2の更新を行います。
pacmanのバージョンによって変わってくるみたいです。
・MSYS2における正しいパッケージの更新方法 - Qiita
pacman -Syuu
途中で、下記のような警告が表示された場合、Alt-F4 あるいはクローズボタンでMSYS2 (mintty)のウィンドウを一旦閉じてから、再度立ち上げて、同じコマンドを再度実行する必要があるようです。
警告: terminate MSYS2 without returning to shell and check for updates again 警告: for example close your terminal window instead of calling exit
『msys2.exe』を実行しました。
pacman -Syuu
もう一回、やってみたら更新するものないって言われたのでOKかな?
RubyInstaller2を使ってRuby 2.4をインストール
https://github.com/larskanis/rubyinstaller2/releases にアクセスします。
下の方にスクロールします。『rubyinstaller-2.4.1-1-x64.exe』をダウンロードしました。
『I accept the License』にチェックを入れて、『Next >』をクリックします。
インストール場所を決めて『Install』。
インストールが始まります。
『Finish』をクリック。
MSYS2のインストール(選択肢1)と、MSYS2のアップデート(選択肢2)は完了しているので、ここでは3を選択して実行すれば良いようです。
で、エラー。1、2、3どれ選んでも、Msys2のインストーラーが起動する。いままでMsys2をインストール、アップデートしてきたのに、msys2無いって言われる、何でや!もしや、E:¥tools¥msys64を環境変数に追加する感じか?
パス追加したけど、変化なし...。
ダメ元で『msys2_shell.cmd』開いて更新できるものが残ってるかチェックするも何もない状態。
原因判明
Cドライブに配置しないといけなかったみたいです。
rubyinstaller(rubyinstaller-2.4.1-1-x64.exe)を再度実行し、3を選択します。
なんか、もう一回聞かれるけど、終了してるっぽいんで、普通に閉じていいと思います。(終了したら自動で閉じるか、終わったよって言ってくれればいいのに。)
ConEmuを起動して、コマンドプロンプトでRubyのバージョン確認。(インストールされたみたいです。)
Railsのインストール
インストール場所が分からないけど、とりあえず、Cドライブ直下に移動しインストールすることにしました。そして、nokogiriエラー。
⇩ 下記サイトを参考にsqlite3とnokogiriのgemをインストール
・RubyInstaller2でRuby2.4 with Rails5の環境を作る~Nokogiriでエラー~ - Qiita
sqlite3
ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem install sqlite3 --platform ruby
nokogiri
ridk exec pacman -S mingw-w64-x86_64-libxslt
gem install nokogiri --platform ruby -- --use-system-libraries --with-xml2-include=c:/msys64/mingw64/include/libxml2 --with-xslt-dir=c:/msys64/mingw64
再度、gem install rails コマンドを実行します。
gem install rails
バージョンの確認をしてみましょう。
Ruby on Rails 5.1.1 インストール完了!
Railsでサンプルアプリ
アプリを作って確認。
rails new rails-sandbox cd rails-sandbox rails s
上手くいくかと思いきや、rails s でエラー。(rails s はサーバーの起動みたいです)
・RubyInstaller2でWindows環境にRuby 2.4 + Rails 5.0.2をインストールする - Qiita
⇧ 上記サイトを参考にさせていただきエラー修正にトライ。
C:¥Ruby24-x64¥lib¥ruby¥gems¥2.4.0¥gems¥nokogiri-1.6.6.4-x64-mingw32¥lib¥nokogiri というフォルダまで移動します。
C:¥Ruby24-x64¥lib¥ruby¥gems¥2.4.0¥gems¥nokogiri-1.6.6.4-x64-mingw32¥lib¥nokogiri というフォルダの下に 2.4 というフォルダを作成します。
C:¥Ruby24-x64¥lib¥ruby¥gems¥2.4.0¥gems¥nokogiri-1.7.2¥lib¥nokogiriフォルダのnokogiri.soというファイルをコピーします。(nokogiri-1.7.2のバージョンは人によって違うかもしれません。)
C:¥Ruby24-x64¥lib¥ruby¥gems¥2.4.0¥gems¥nokogiri-1.6.6.4-x64-mingw32¥lib¥nokogiri¥2.4にペーストします。
そしたら、コマンドプロンプトで再度、rails s でサーバーを起動しましょう。
サーバーが起動しました!ブラウザで『http://localhost:3000/』にアクセスします。
Ruby on Railsが起動してます。
Ctrl + Cでサーバーは止められるようです。
今回もハマりにハマってしまい、何故か、Ruby on Railsに脱線しましたが、次回は、Msys2にGitを導入していかねばですね。Git for Windowsが亡くなったので、git bashに変わるものを導入していかねばです。
⇩ フォルダのダウンロードは無理っぽいのかな?
・windowsのコマンド(DOS/PowerShell)でファイルをダウンロードする方法について | あいしんくいっと
今回はこのへんで。