はじまり
唐突にRails+Vueの環境構築がしたくなったのでうぃんどうずに環境構築したがうまくいかなかった
※正確なエラーは覚えていません
最初にしたこと
一通りRubyとRailsを入れてRailsとVueを使う時に一般的に実行するであろうコマンド
rails new myapp --webpack=vue
を実行したがなんかエラーでた。
can not load such file — sqlite3/sqlite3_native (LoadError)
とにかくこのエラーがでた。
どんなコマンドを実行してもこのエラーが出た。
ググると一回sqlite3をアンインストールしてからもう一回インストールするコマンドを実行すれば解消されるらしい
gem install sqlite3 --platform=ruby -- --with-sqlite3-include=パス --with-sqlite3-lib=パス
もうこの時点でコマンドが長くて諦めたくなったが、たしかにエラーは出なくなった(rails sできた)
だがbundle installするたびにこの長いコマンドを打たなくてはいけないのはめんどくさかった
次にしたこと
後日bcryptというものを初めて知ったので、使おうとGemfileを書き換えてbundle installしたあとに
gem install sqlite3 --platform=ruby -- --with-sqlite3-include=パス --with-sqlite3-lib=パス
を実行したがエラーがでた。
ログみてググったら原因特定できたので
ridk exec pacman -S mingw-w64-x86_64-dlfcn
してGemfileに
gem 'sqlite3', '1.4.0'
を書いてbundle installしたらrails sできたがrails dbはエラーが出てできなかった
can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. (Gem::LoadError)
最後にしたこと
いろいろググったが結局解決方法がわからず諦めそうになったがどっかでRubyが2.4なら最初のcannot load such fileが出ないみたいなのを思い出す。
https://rubyinstaller.org/downloads/
で2.4のリンクをクリックしてRuby 2.4を入れる。するとruby 2.4のフォルダができる
ruby -v
で
ruby 2.4.5p335 (2018-10-18 revision 65137) [x64-mingw32]
と表示されたので2.4になってるのを確認
再度
rails new myapp --webpack=vue
を実行するとなにもエラーがでずに実行できた。
てきとうにview作って
<%= javascript_pack_tag 'hello_vue' %>
を入れてVueのコンパイルが出来ることを確認
おわり。