首页 > 解决方案 > 在我的 Windows 上执行 cmd“rails new test_install”时出现此错误

问题描述

Gem::Ext::BuildError: 错误: 无法构建 gem 原生扩展。

当前目录:C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0/ext/sqlite3 C:/RailsInstaller/Ruby2.3.​​3/bin/ruby.exe -r。 /siteconf20190220-5856-12t9mtl.rb extconf.rb 检查 sqlite3.h... 没有 sqlite3.h 丢失。首先从http://www.sqlite.org/安装 SQLite3 。 * extconf.rb 失败 * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。

提供的配置选项: --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:/RailsInstaller/Ruby2.3.​​3/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

要查看此扩展无法编译的原因,请查看 mkmf.log 可以

可以在这里找到:

C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sql ite3-1.4.0/mkmf.log

extconf 失败,退出代码 1

Gem 文件将继续安装在 C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0 以供检查。结果记录到 C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sql ite3-1.4.0/gem_make.out

安装 sqlite3 (1.4.0) 时出错,Bundler 无法继续。

gem install sqlite3 -v '1.4.0'在捆绑之前确保成功。

在 Gemfile 中:sqlite3

标签: ruby-on-rails

解决方案


我遇到了同样的问题并尝试了一个多星期的很多解决方案,唯一对我有用的是卸载 RailsInstaller 只安装 Ruby DevKit(确保 RailsInstaller 安装的所有文件夹都消失了,否则你会看到一条消息“C :/RailsInstaller/Ruby2.3.​​3/bin" 尝试使用gem命令时找不到)通过命令行安装railsC:/Sites > gem install rails并安装MinGW

C:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn

从https://rubygems.org/下载 SQLite3 gem ,将其保存在本地并从文件中安装

C:\Sites>gem install --local C:\sqlite3-1.4.0.gem

好消息是它适用于我之后创建的所有项目。


推荐阅读