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

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

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

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

Q&A

解決済

2回答

2671閲覧

railsインストールのsqlite3について

hattin

総合スコア18

Ruby on Rails

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

0グッド

0クリップ

投稿2019/01/19 04:15

前提・実現したいこと

railsの環境構築をしようと思っています。

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

1)sqlite3のダウンロードサイトで、ダウンロードを済ませ、ダウンロードしたファイルを展開し、sqlite3.dllをruby/binに貼り付けたのですが、エラーメッセージが表示されます。
2)1の問題が残っているせいか、cdを使って、myappに移動したのち、rails sを入力すると2の様な、エラーメッセージが表示されます。

  1)sqlite3 -v 'sqlite3' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 2)cannot load such file -- sqlite3/sqlite3_native (LoadError)

該当のソースコード

コマンドプロンプト、ruby on rails

試したこと

ブラウザで http://www.sqlite.org/download.html を開く。
「Precompiled Binaries for Windows」セクションから sqlite-dll で始まる2個のZIPファイルのうちどちらかをダウンロードする(※)。
ZIPファイルを展開(解凍)すると1個のフォルダが現れるので、その中にある sqlite3.dll をコピーする。
Rubyをインストールしたフォルダ(C:¥Ruby21など)の下にある bin フォルダに sqlite3.dll を貼り付ける。
C:\Ruby26-x64\lib\ruby\gems\2.3.0\specificationsにある、sqlite3-1.3.11-x64-mingw32.gemspecの10行目にあるs.require_paths=["lib".freeze]をs.require_paths= ["lib/sqlite3_native"]に変更し、上書き保存。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

再回答します。解決案です。普段 Windows 版の Rails を使わないので、分かっていませんでした。

以下の手順を踏んでください。

  1. SQlite ダウンロードサイトから Source Code (現時点最新は sqlite-amalgamation-3260000.zip) をダウンロードし、適当なディレクトリに展開してください。
  2. s.require_paths= ["lib/sqlite3_native"] の書き換えは必要か不要か分かりませんので、とりあえず元の記述に戻してください。私は何も手を加えないままで成功しています。
  3. いったん sqlite3.gem をアンインストールしてください。gem uninstall sqlite3
  4. 以下のコマンドを実行して sqlite3.gem を再インストールしてください。

Console

1prompt> gem install sqlite3 --platform=ruby -- --with-sqlite3-include=C:/sqlite-amalgamation-3260000 --with-sqlite3-lib=C:/Ruby25-x64/bin

なお --with-sqlite3-include は Sqlite の Source Code を展開したディレクトリを指定してください。また --with-sqlite3-lib は既にダウンロードし適当な場所にコピー済みの sqlite3.dll の所在ディレクトリを指定してください。

Windows 版の Rails ユーザーは、これをやらないといけないと思うのですが、思ったほどこれを示している情報に当たりません。前述どおり私は普段 Windows 版 Rails は使っていませんので、これが正解かどうかは不明です。どこぞにあった情報に基づいて試してみたら成功した、というものに過ぎません。あしからず。Windows ユーザーがどこかにて情報をとりまとめて頂けると、多くの方が助かるのではないかと感じています。(私はその任に当てれなくてすみません。)

投稿2019/01/20 08:54

matsuand

総合スコア186

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

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

hattin

2019/01/22 13:45

ありがとうございます。解決することができました。
guest

0

DLL はライブラリですから、コマンドツール類を含みません。
ダウンロードするなら sqlite-tools-win32-x86-3260000.zip です。
sqlite3 コマンドを利用するなら sqlite-tools-win32-x86-3260000.zip のダウンロードが必要です。

正解と思い込んで、回答として上記打ち消し線部分を書き込んでしまいましたので、DLL に関しては不確かながらコメントします。s.require_paths= ["lib/sqlite3_native"] とするのは少々違うような気がします。これですと lib ディレクトリ配下の sqlite3_native.dll を探しにいく、という意味になるのかと思います。

なお回答を別に分けて解決案を示します。

投稿2019/01/19 06:59

編集2019/01/20 08:44
matsuand

総合スコア186

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

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

hattin

2019/01/19 15:06

回答ありがとうございます。s.require_paths= ["lib/sqlite3_native"]の部分はどうすればいいですか?
matsuand

2019/01/19 22:31

どうしたら良いと解釈されますか? それを行動に移して実際に試されましたか? 当方には環境がないため、どストライクの正解は分かりません。想像はつきます。試してみたらいかがでしょうか? ダメなら Google 検索をしまくってみてください。自身で答えを見つけることの方が、はるかに楽しいですよ。
matsuand

2019/01/20 00:28

なお s.require_paths= ["lib/sqlite3_native"] の部分に固執しないでくださいね。Google 検索してみると、同様エラーはたくさん出てきます。ruby, rails, sqlite の各バージョンの未対応の話とか、sqliteソースからビルドするものだとか、環境を保持していない私でも情報だけはたくさん得られます。後は公式サイト・公式ドキュメントを拠り所として、適切に確認し、後は試してみることかと思います。正解を述べられなくて申し訳ありませんが、ご健闘ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問