【问题标题】:I am getting this error while executing cmd "rails new test_install" on my windows在我的 Windows 上执行 cmd“rails new test_install”时出现此错误
【发布时间】:2019-07-13 21:45:01
【问题描述】:

Gem::Ext::BuildError: ERROR: 未能构建 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 --没有-make-prog --srcdir=。 --curdir --ruby=C:/RailsInstaller/Ruby2.3.​​3/bin/$(RUBY_BASE_NAME) --with-sqlcipher --没有-sqlcipher --with-sqlite3-config --without-sqlite3-config --with-pkg-config --without-pkg-config --with-sqlcipher --没有-sqlcipher --with-sqlite3-dir --没有-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


    【解决方案1】:

    您可能在 5.2.2 版本中使用 rails。解决方案是将sqlite 的版本更改为1.3.6

    gem 'sqlite3', '~> 1.3.6'
    

    修改后运行命令:

    bundle update
    

    【讨论】:

    • 我安装了 SQLite 1.3.6 C:\>gem install sqlite3 -v 1.3.6 成功安装了 sqlite3-1.3.6-x86-mingw32 sqlite3-1.3.6-x86-mingw32 的解析文档完成1 秒后安装 sqlite3 的文档 1 个 gem 已安装 C:\>bundle update 最新的捆绑器是 2.0.1,但您当前运行的是 1.15.3。要更新,请运行 gem install bundler 找不到 Gemfile
    • 你必须在 Rails 项目的目录中运行bundle update
    • 问题是我想创建一个本地主机服务器,我需要在 cmd 上运行它是 rails new test_install。我已经安装了 sqlite3 v1.3.6 并更新了 bundler
    • 你看过官方指南吗? guides.rubyonrails.org/getting_started.html。更改 sqlite 版本后,转到控制台中的应用程序文件夹,运行 bundle update,然后使用 rails s 启动应用程序。一切都应该正常。
    • 仍然出现同样的错误,是的,我正在关注 coursera 中的指南,他以同样的方式完成了它,它对他有用。
    【解决方案2】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 2020-09-16
    相关资源
    最近更新 更多