環境構築した軌跡です。流れと、地味に困ったことをまとめました。 おかしな内容もあるかもしれない一方で初心者・学生仲間に有用と思います。
目的
以前の環境(XAMPPでCakePHP)しか知らないとわからないことが多かった。
GitHubは使っていたけれどgitって何状態だったので勉強。(自分はニワトリが先だったのだ)
vimを使いたい。Rubyがやりたい!Railsアプリを作る。
Web系のエンジニアはみーんなMac
2013年、私が会ったWeb系の勉強会・就活イベント・ベンチャーの方々、99割がマカーでした(まじ)。 モニターの背面にステッカーを貼っている人を観測^1。Windowsっていないの!?と疑問に思いはじめる。 コマンドプロンプトの使い方すらわかっていなかったけれど、Linux系のOSではいろいろできるとの噂を聞いた。 当時Web系の人がVagrant便利!って言ってた。WindowsからVMでLinuxを動かしている企業も少なくない。 サーバーにはLinuxが使われていることが多くて、Windowsで書いたコードを実行しようとすると動作に違いがあるらしい。
vagrantいれよう
仮想マシンの環境を作ったり壊したりできる。Ubuntu12.04を次のリンクを参考にして導入しました
Vagrant 入門 - Windows 上に Linux の仮想マシンを簡単に用意する - 僕は発展途上技術者
仮想マシン起動から終了までの流れ。
vagrant init [box名]
vagrant up
vagrant ssh
exit
vagrant halt
- GitHubシェルを起動 ※GitShellのショートカットを消してしまったらGitHubのソフトでリポジトリを開いてから[tools]->[Open a shell here]
cd
でフォルダ移動(1つのフォルダに1つの仮想マシンが対応しているようだ)vagrant init
は次回から必要なし- box名は
vagrant box list
で一覧表示できる - 設定ファイルであるVagrantfileを編集した後は
vagrant reload
でvagrant halt
せずに再起動できる。 - Vagrantfileを編集する際には改行コードを指定して保存すること。恐らくCR+LF。
コマンドラインを扱い慣れていなかったのでショートカットを少し説明
Alt + Space + e
で[編集]までいけます、これに以下を続けて入力します。
k
:選択開始y
:コピーp
:貼り付け
また、cd
などフォルダやファイルを指定するコマンドで最初の1文字を入力してtabを押せば候補を自動補完してくれます。
同じ文字から始まるファイルが存在した場合などコンピューターが判断できないときはもう一度tab押下することで候補を表示してくれます。
次に、Linuxコマンドにも慣れる必要がある。google検索とドットインストールさんで学ぶ。
$ apt-get install
などはパーミッションで怒られるので変にファイルのパーミッションを変えるでなく頭にsudoを付けて$ sudo apt-get install
とする。
なおシェルには種類があってLinuxで標準のbashが使用されていた。
$ echo $SHELL
で確認可能
何か実行しているときにキャンセルしたい場合は大抵Ctl + c
vimを入れよう
ここからRailsをインストールするまで1時間半かかりました。
デフォルトでvimがインストールされていないので導入します。
sudo apt-get install vim
vimの使い方もドットインストールさんで学べる。チートシートを探して印刷した。
RubyとRuby on Railsの導入
rbenvというrubyのバージョンを管理してくれるものを使いました。
Railsには現在推奨されているRuby1.93を、他のプログラムにはRuby2.0を使えます。
下記記事を参考にさせていただきました。
Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました
rbenvで複数のバージョンのrubyを使用する環境を整える
Railsの実行
rails s
をしてもホストマシンがゲストマシンにアクセスできるようにしなくてはブラウザで確認できません。
そこで仮想マシンのあるフォルダのVagrantfileを編集します。(必ずバックアップをっとっておこう)
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network :forwarded_port, guest: 3000, host: 3000
のように4行目を追加します。そしてvagrant reload
で再度読み込ませれば
http://localhost:3000/
にアクセスできるようになります。
用語等含め間違いございましたらご指摘お願いします。