Vagrant の Ubuntu 12.04 で bundle を実行したらエラーが出た対応策について

bundle でインストールをしたら、下記のエラーが発生した。

$ bin/bundle
Fetching source index from https://rubygems.org/
Fetching git://github.com/gregbell/active_admin.git
Retrying git clone 'git://github.com/gregbell/active_admin.git' "/home/vagrant/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/cache/bundler/git/active_admin-d67faab65e9b74efbc8efb4a777a851e9f78b2ca" --bare --no-hardlinks --quiet due to error (2/3): Errno::ENOMEM Cannot allocate memory - git clone 'git://github.com/gregbell/active_admin.git' "/home/vagrant/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/cache/bundler/git/active_admin-d67faab65e9b74efbc8efb4a777a851e9f78b2ca" --bare --no-hardlinks --quiet
Retrying git clone 'git://github.com/gregbell/active_admin.git' "/home/vagrant/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/cache/bundler/git/active_admin-d67faab65e9b74efbc8efb4a777a851e9f78b2ca" --bare --no-hardlinks --quiet due to error (3/3): Errno::ENOMEM Cannot allocate memory - git clone 'git://github.com/gregbell/active_admin.git' "/home/vagrant/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/cache/bundler/git/active_admin-d67faab65e9b74efbc8efb4a777a851e9f78b2ca" --bare --no-hardlinks --quiet
Unfortunately, a fatal error has occurred. Please see the Bundler
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!

原因は swap ファイルがないからという話だったので、下記を実行。

$ sudo swapon -s
Filename                                Type            Size    Used    Priority
$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1       41283904  1655356  37531968   5% /
udev              247604       12    247592   1% /dev
tmpfs              50344      228     50116   1% /run
none                5120        0      5120   0% /run/lock
none              251712        0    251712   0% /run/shm
vagrant        976401404 77485412 898915992   8% /vagrant
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
262144+0 records in
262144+0 records out
268435456 bytes (268 MB) copied, 0.40044 s, 670 MB/s
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 262140 KiB
no label, UUID=e0f56805-5dba-4b50-b5b7-344fc08af7ca
$ sudo swapon /swapfile
$ sudo swapon -s
Filename                                Type            Size    Used    Priority
/swapfile                               file            262140  0       -1

ここからは nano で swap の設定をする。

$ sudo nano /etc/fstab

で、次の1行を追加する。

/swapfile       none    swap    sw      0       0

そして、次を実行。

echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile