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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Q&A

解決済

2回答

3107閲覧

Ruby on rails でgem SQlite3がインストールできません、助けてください。

kinopy

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

0グッド

0クリップ

投稿2021/08/08 17:44

前提・実現したいこと

windows10で、Ruby on railsの環境構築をしています。
"rails new"を行ったところ、「sqlite3.hが見つからない」「gem 'sqlite3 (~> 1.4) x64-mingw32'が見つからない」等のエラーが出てしまい、うまくできません。3時間ほど自分で調べましたが結局何がいけないのかわからず、ここで質問させていただく次第です。

全くのプログラミング素人であり愚かな質問なのだとは思いますが、どなたか助けていただけますと嬉しいです。よろしくお願いします。

(前提)
C:\Ruby27-x64\bin には、https://www.sqlite.org/download.html からダウンロードしたzipファイルを解凍した中にあった"sqlite3.dll"
"sqlite3"(.exe)をコピーしています。

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

Installing sqlite3 1.4.2 with native extensions エラー: mingw32: "David Macek <david.macek.0@gmail.com>" の署名は信頼されていません エラー: mingw64: "David Macek <david.macek.0@gmail.com>" の署名は信頼されていません エラー: msys: "David Macek <david.macek.0@gmail.com>" の署名は信頼されていません エラー: データベース 'mingw32' は無効です (無効または破損したデータベース (PGP 鍵)) エラー: データベース 'mingw64' は無効です (無効または破損したデータベース (PGP 鍵)) エラー: データベース 'msys' は無効です (無効または破損したデータベース (PGP 鍵)) Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3 C:/Ruby27-x64/bin/ruby.exe -I C:/Ruby27-x64/lib/ruby/2.7.0 -r ./siteconf20210809-19896-4nhwe5.rb extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby27-x64/bin/$(RUBY_BASE_NAME) --with-sqlcipher --without-sqlcipher --with-sqlite3-config --without-sqlite3-config --with-pkg-config --without-pkg-config --with-sqlcipher --without-sqlcipher --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib To see why this extension failed to compile, please check the mkmf.log which can be found here: C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/sqlite3-1.4.2/mkmf.log extconf failed, exit code 1 Gem files will remain installed in C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/sqlite3-1.4.2 for inspection. Results logged to C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/sqlite3-1.4.2/gem_make.out An error occurred while installing sqlite3 (1.4.2), and Bundler cannot continue. Make sure that `gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: sqlite3 run bundle binstubs bundler Could not find gem 'sqlite3 (~> 1.4) x64-mingw32' in any of the gem sources listed in your Gemfile. rails webpacker:install Could not find gem 'sqlite3 (~> 1.4) x64-mingw32' in any of the gem sources listed in your Gemfile. Run `bundle install` to install missing gems.

該当のソースコード

ソースコード

試したこと

まずはメッセージ通りbudle install をしてみましたが、
"could not locate Gemfile"と出てしまいうまくいきませんでした。

エラーメッセージをネット上で検索したところ、
bundle install --path vendor/bundle とするとよいというコメントがあり、
その通りにしてみましたが同じようなエラーが返ってきてうまくいきませんでした。

gem install sqlite3 というのも試してみましたが、同じようにsqlite3.hがないとのメッセージが返ってきました。

つまりはsqlite3.hがないのがダメな理由なのかと思い、https://www.sqlite.org/download.html から"sqlite-amalgamation-3360000.zip"をダウンロードし、その中の"sqlite3.h"もC:\Ruby27-x64\binにコピーしましたがうまくいきませんでした。

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

ruby 2.7.2
rails 6.1.4
windows10

もし上記では情報が足りないようでしたらご教示ください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

windows10で、Ruby on railsの環境構築をしています。

Windowsで直接Railsの環境を構築することはおすすめしません。仮想マシンやWSLなど、Unix系の環境を構築して、その上で行うほうがずっとやりやすいですし、あとあと役に立ちます。

投稿2021/08/08 22:36

maisumakun

総合スコア146018

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

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

kinopy

2021/08/09 08:22

アドバイスありがとうございます。ご指摘の通り、LinuxというOSをダウンロードした方がよいというweb siteも複数あったのですが、CUIの操作を使いこなせるかかなり疑問であったのと、手元の書籍(「Ruby on rails 4 アプリケーションプログラミング」技術評論社)には、Linuxであっても結局Ruby、SQlite、railsなどをダウンロードしなければならないとあり、断念した経緯があります。 上記を踏まえても、プログラミング初心者であってもWindowsにlinuxを落として最初からlinuxで勉強するほうがよいのでしょうか?
maisumakun

2021/08/09 08:37 編集

> 上記を踏まえても、プログラミング初心者であってもWindowsにlinuxを落として最初からlinuxで勉強するほうがよいのでしょうか? はい、将来的に実運用のサーバを建てるに当たって、Linux上でのインストールやコマンドライン操作は必須と言ってもいい技能となります(Windows上での構築に悪戦苦闘して乗り越えても、その苦労を活かす場はそう来ません)。
kinopy

2021/08/09 14:41

ありがとうございます。virtualbox上でubuntuをインストールし、無事環境構築ができました。
guest

0

rubyはどのようにインストールしましたか?
rubyinstaller-devkitを使えば、sqlite3関連はmsys64がインストールしてくれます。
別途sqlite.orgからsqlite3を入手する必要はありません。

投稿2021/08/08 19:01

technocore

総合スコア7337

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

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

kinopy

2021/08/09 08:04

コメントありがとうございます。rubyinstaller-devkitを使ってrubyをインストールしており、実際にC:\Ruby27-x64 の中に msys64が入っていました。Devkitをもう一度インストールする等、何か解決方法があれば教えていただけると大変うれしく思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問