ruby-on-rails - Gem::Ext::BuildError: 错误: 无法构建 gem 原生扩展。对于 SQLite3
问题描述
当我尝试制作新的 rails 应用程序时,我在 windows 上的 rails 中不断收到以下错误?安装 sqlite3 时失败。
current directory:
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0/ext/sqlite3
C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20190220-14164-174xy0j.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:/Ruby25-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:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/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.0 for inspection.
Results logged to
C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/gem_make.out
An error occurred while installing sqlite3 (1.4.0), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.0' --source 'https://rubygems.org/'`
succeeds before bundling.
我在我的机器上安装了 sqlite3 并且我使用的是 Windows 10。我尝试运行 gem install sqlite3 命令,就像它提示我的那样,但它仍然失败我做错了什么?
解决方案
那就试试这个
$ sudo apt-get install libsqlite3-dev
,
$ bundle install
推荐阅读
- vb.net - 如何打印隐含的小数点后 5 到 2 位?
- scala - Scala 期货是否支持非阻塞组合器,例如 firstNCompletedOf 和 firstNSuccCompletedOf?
- c# - 在 C# 中将 int 变量初始化为减一
- c# - 如何使用 Microsoft.Office.Interop.Excel 设置隐藏和空单元格处理
- html - 将水平菜单转换为垂直菜单
- python - 我可以使用类实例的类来提高可读性吗?
- python - 将 Python 模块导入 AWS Lambda
- javascript - 如何防止 node.js 中的竞争条件?
- python - BeautifulSoup 找不到网页上存在的类?
- javascript - 如何通过我的选择标签中选择的数字过滤我的 json 数据