ruby - Windows 10 上的 Ruby sqlite3 gem 安装问题
问题描述
我对 ruby 和 rails 很陌生。我正在尝试安装到 sqlite3 以尝试教程并遇到问题。我在 Windows 10 上并使用ruby 2.6.1p33 (2019-01-30 revision 66950) [x64-mingw32]
.
这是我在运行时遇到的安装错误gem install sqlite3-ruby
。我也试过跑步gem install sqlite3 --platform=ruby -- --with-sqlite3-include=c:/sqlite3/include --with-sqlite3-lib=c:/sqlite3/lib
C:/Ruby26-x64/bin/ruby.exe -I C:/Ruby26-x64/lib/ruby/2.6.0 -r ./siteconf20190217-3116-1d59gcv.rb extconf.rb
checking for sqlite3.h... yes
checking for pthread_create() in -lpthread... yes
checking for -ldl... no
checking for dlopen()... no
missing function dlopen
*** 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:/Ruby26-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
--with-pthreadlib
--without-pthreadlib
--with-dllib
--without-dllib
To see why this extension failed to compile, please check the mkmf.log which can be found here:
C:/Ruby26-x64/lib/ruby/gems/2.6.0/extensions/x64-mingw32/2.6.0/sqlite3-1.4.0/mkmf.log
extconf failed, exit code 1
我已经从他们的网站下载了 sqlite3,这里是文件夹结构C:\sqlite3\
sqldiff.exe
sqlite3.exe
sqlite3_analyzer.exe
include\shell.c
include\sqlite3.c
include\sqlite3.h
include\sqlite3ext.h
lib\sqlite3.def
lib\sqlite3.dll
我也复制sqldiff.exe, sqlite3.exe and sqlite3_analyzer.exe
到C:\Ruby26-x64\bin
. 在我的环境变量中,我添加C:\sqlite3\
并PATH
创建了一个新的环境变量sqlite3-dir
指向C:\sqlite3\
有人可以为这个安装问题提供一些帮助吗?
解决方案
gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"
在项目 Gemfile 文件中添加有效。之后运行bundle install
。确保在机器中安装 git。这是github链接
推荐阅读
- windows - 使用未执行的预定义命令运行 Windows 终端
- apache-nifi - 是否可以在 PutTCP 中使用动态主机名?
- python - 如何在pyspark中保存没有日期的时间信息?
- c# - 在 Bot Framework C# 中启动 OAuth2 对话框后如何中断
- javascript - 如何从 Sheets v4 API 中的 Javascript 作为 JSON 获取 Google 电子表格数据?
- python - AttributeError:“KerasClassifier”对象没有属性“添加”
- python - 在 Python 中部署 bash
- python - 找不到命令:Mac OS 上的 playwright 使用 pip 安装 lib
- jmeter - 如何从 Jmeter 中的数据库中删除一些数据?
- maven - 不可跳过的 Javadoc