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