🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

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

SQLite

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

Q&A

2回答

1373閲覧

Railsの環境構築について

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails 5

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

SQLite

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

0グッド

0クリップ

投稿2019/10/30 07:53

前提・実現したいこと

railsの環境構築をしているのですが、どうしても解決できません。
sqlite3について、エラーが発生しているようなのですが、原因がわかりません。

参考サイトは以下です。
Rails Girls - Jananese
Windows 用セットアップ(WSLが使えない方向け)を参考にしています。
4.JavaScriptライブラリのインストールまでは終わっており、動作確認でrails new sampleを実行したところ、エラーが出てしまったので、「bundle install時にsqlite3 gemのインストールでエラーになる場合は、以下を試してみてください。ridkはMSYS2用パッケージマネージャです。」とかいてある、

gem uninstall sqlite3 --all ridk exec pacman -S mingw-w64-x86_64-sqlite3 gem install sqlite3 --platform ruby

を実行したのですが、3行目を書いたときにエラーが出ました。

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

ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32] C:\Users>rails new sample (省略) : : Fetching sqlite3 1.4.1 Installing sqlite3 1.4.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.1/ext/sqlite3 C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20191030-14908-fns85f.rb extconf.rb *** 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:/Ruby25-x64/bin/$(RUBY_BASE_NAME) --with-sqlcipher --without-sqlcipher --with-sqlite3-config --without-sqlite3-config --with-pkg-config --without-pkg-config C:/Ruby25-x64/lib/ruby/2.5.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from C:/Ruby25-x64/lib/ruby/2.5.0/mkmf.rb:541:in `try_link0' from C:/Ruby25-x64/lib/ruby/2.5.0/mkmf.rb:559:in `try_link' from C:/Ruby25-x64/lib/ruby/2.5.0/mkmf.rb:661:in `try_ldflags' from C:/Ruby25-x64/lib/ruby/2.5.0/mkmf.rb:1821:in `pkg_config' from extconf.rb:35:in `<main>' To see why this extension failed to compile, please check the mkmf.log which can be found here: C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.1/mkmf.log extconf failed, exit code 1 Gem files will remain installed in C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.1 for inspection. Results logged to C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.1/gem_make.out An error occurred while installing sqlite3 (1.4.1), and Bundler cannot continue. Make sure that `gem install sqlite3 -v '1.4.1' --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. C:\Users\大輝>gem uninstall sqlite3 --all Successfully uninstalled sqlite3-1.3.13-x64-mingw32 C:\Users\大輝>ridk exec pacman -S mingw-w64-x86_64-sqlite3 警告: mingw-w64-x86_64-sqlite3-3.27.2-2 は最新です -- 再インストール 依存関係を解決しています... 衝突するパッケージがないか確認しています... パッケージ (1) mingw-w64-x86_64-sqlite3-3.27.2-2 合計インストール容量: 6.00 MiB 最終的なアップグレード容量: 0.00 MiB :: インストールを行いますか? [Y/n] y (1/1) キーリングのキーを確認 [#####################] 100% (1/1) パッケージの整合性をチェック [#####################] 100% (1/1) パッケージファイルのロード [#####################] 100% (1/1) ファイルの衝突をチェック [#####################] 100% (1/1) 空き容量を確認 [#####################] 100% :: パッケージの変更を処理しています... (1/1) 再インストール mingw-w64-x86_64-sqlite3 [#####################] 100% C:\Users>gem install sqlite3 --platform ruby ERROR: While executing gem ... (Gem::UnsatisfiableDependencyError) Unable to resolve dependency: No match for 'psych (= 3.1.0)' on this platform. Found: x64-mingw32

試したこと

以前も環境構築をしようと思ったのですが、やはりsqlite3のエラーが出てしまったので、挫折してしまいました。
今回も同じサイトですが、別の方法で構築したら、やはり同じところでエラーになってしまいました。
試したことは、サイトの手順の通りです。

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

PCはwindowsを使用しています。

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

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

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

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

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

guest

回答2

0

すでにmaisumakunさんのレスが来てますが、まぁ、その通りかと思います。

余力があるのなら、TDM GCCからgfortranをインストールを参考にTDM GCCを入れてみて試してみるのはどうでしょうか?
(ruby使ってないから分からないですが、バイナリを生成するのにMinGWを使用しているのなら、MinGWは32ビットしかサポートしてないっぽい?ので、何らかの進展はあるかもしれません。)

投稿2019/10/30 08:23

yoorwm

総合スコア1305

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

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

0

PCはwindowsを使用しています。

実際にサービスを作るところまで考えているのであれば、悪いことはいいませんので、Linuxの仮想マシンを構築する、WSLに載せるなどの方法で、Linux用の手順に沿って環境構築することを、強くおすすめします

  • Windows上に直接構築する場合、「入れられないGem」に突き当たってどうしようもなくなる例があるほか、入れられたにしても手間がかかる上に、その手間はローカルでしか役に立たないものです。
  • Linuxへの構築の場合、もちろん一定程度の手間はかかりますが、「入れられない」ような事態はほぼなく、そして仮想環境を構築する部分を除けば、Rails環境作成のノウハウは実運用のサーバを立てる際にも役に立ちます

投稿2019/10/30 08:11

編集2019/10/30 08:11
maisumakun

総合スコア145977

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

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

退会済みユーザー

退会済みユーザー

2019/10/30 10:15

なるほど…以前も上記で参考にしたサイトを使い、WSLが導入できる方向け環境構築(使用パソコンはWSL使えます)でも、同じようなエラーが出てしまっていました。sqlite3でエラーが起きてしまうのはまた別の問題がありそうですね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問