環境
VagrantFileで仮想環境の設定を用意する。
仮想環境
CentOS/7
Ruby 2.6.0
Rails 5.2.2
mountしない
下記のようなエラーが表示されて自分のOSとmountしてくれない。
/sbin/mount.vboxsf: mounting failed with the error: No such device
やったこと
参考
https://qiita.com/takutoki/items/33cf1230e032931f9adc
開発用のディレクトリでコマンドプロンプトを開き下記コマンドを順に実行する。
vagrant plugin install vagrant-vbguest
vagrant vbguest
vagrant teraterm
teraterm用のプラグインを用意していたため vagrant teraterm でログイン。
無い場合は vagrant ssh で。
ssh接続ができたら、開いたターミナルで下記コマンド実行
sudo /etc/init.d/vboxadd setup
何度もvagrant upやり直していたからか、ここで一旦下記コマンドを実行しないと上手く動かなかった。
vagrant destroy
※vagrantで用意した環境を削除してしまうため実行時は注意
改めて下記コマンドを実行するとmoutできた。
vagrant up
sqlite3 入らない
仮想環境で bundle install を実行するとsqlite3が無いというエラーが表示された。
An error occurred while installing sqlite3 (1.3.13), and Bundler cannot
continue.
Make sure that `gem install sqlite3 -v '1.3.13' --source
'https://rubygems.org/'` succeeds before bundling.
やったこと
最初の方のログで↓のようにコマンドをいくつか教えてくれる。権限によってはsudo つける必要はある。
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (the
location where your sqlite3 shared library is located).
下記コマンドを実行しsqlite3をインストール。
sudo yum install sqlite-devel
改めて bundle install を実行すると上手くインストールできた。
bundlerのエラー
bundle した時に下記エラーが表示される。
You must use Bundler 2 or greater with this lockfile.
VagrantFileのbundlerのバージョンは2.0.1になっていた。
やったこと
参考
https://github.com/bundler/bundler/issues/6784
下記コマンドを実行するとエラーが出なくなった。
gem update --system