質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

7648閲覧

Railsにおけるsqlite3のインストールエラーについて

hayato08120904

hayato08120904

総合スコア16

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2019/03/10 11:27

前提・実現したいこと

初めての投稿です、よろしくお願いします。
Railsチュートリアルを始めて環境設定を行なっています。
https://railstutorial.jp/chapters/beginning?version=5.1#sec-prerequisites
の1−3−2を行なっているところですが、サーバーを立ち上げると以下のようなエラーメッセージが出てしまいました。いくつか自分で試してみたのですが、問題が解決できなかったので、もしわかる方がいたら教えて頂きたいです。よろしくお願いします。

発生している問題・エラーメッセージ

どうやらgemfileのうちの一つであるsqlite3のインストールがうまく行ってないらしく、rails serverした後に立ち上げたブラウザを見ようとすると以下のようなエラーが出てしまいます。

エラーメッセージ Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). google翻訳にかけたあと データベースアダプタに 'sqlite3'を指定しましたが、gemがロードされていません。 Gemfileに `gem 'sqlite3'を追加します(そしてそのバージョンがActiveRecordで最低限必要なものであることを確認してください)

該当のソースコード

なし

試したこと


$gem install sqlite3をクラウド内で実行

$sudo yum install sqlite-develをクラウド内でしてみる


sqlite3のダウンロードページに行ってsqlite3のダウンロードし、それをtmpフォルダの中に置く

(ここからAWSのクラウド上)
gem uninstall sqlite3

gem install sqlite3 -v "=1.3.7" --platform=ruby -- --with-sqlite3-include=C:\temp\sqlite-amalgamation-3240000 --with-sqlite3-lib=C:\Ruby25-x64\bin
をしてみましたが、以下のようなエラーが出てしまいました。
make failed, exit code 2

Gem files will remain installed in /home/ec2-user/.rvm/gems/ruby-2.6.0/gems/sqlite3-1.3.7 for inspection.
Results logged to /home/ec2-user/.rvm/gems/ruby-2.6.0/extensions/x86_64-linux/2.6.0/sqlite3-1.3.7/gem_make.out

補足情報(FW/ツールのバージョンなど)

AWSのcloud9を使って開発しようとしてます

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

自分もそれで今日、半時間ほど潰しました。
答えは勝手にsqlite1.4.0が入ってしまい、これがまだrailsに対応していないためです。
つまり、未対応のsqliteが呼び出されてしまっている状態です。

なのでGemfileに

Gemfile

1gem 'sqlite3', '~> 1.3.6'

と前バージョンのsqliteを記述してからbundleコマンドでgemを更新してください。

投稿2019/03/10 13:35

編集2019/03/10 13:37
FKM

総合スコア3626

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayato08120904

hayato08120904

2019/03/11 02:42

回答ありがとうございます! 1.3.7にしてbundle update を試してみたんですけど、 An error occurred while installing sqlite3 (1.3.7), and Bundler cannot continue. Make sure that `gem install sqlite3 -v '1.3.7' --source 'https://rubygems.org/'` succeeds before bundling. 以上のようなエラーが出ちゃって、 gem install sqlite3 -v '1.3.7' --source 'https://rubygems.org/ を実行したんですけど5分くらい待っても動かなくて、これってどうしたら良いか分かったりしますか、、、? 質問連続でごめんなさい。
FKM

2019/03/11 02:49

gemは明示的にインストールするものじゃなくて、bundleコマンドを使えば、Gemfileに入っている情報を一通り更新してくれます。また、1.3.7ではなくて、1.3.6までしか対応していませんので、上で説明した通り、Gemfileに既存のsqlite3情報を上書きして記述してください。
hayato08120904

hayato08120904

2019/03/12 02:31

ファイルを消した後もう一度1.3.6でやってみたら解決しました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問