簡體   English   中英

Gem::Ext::BuildError: 錯誤:無法構建 gem 本機擴展。 對於 SQLite3

[英]Gem::Ext::BuildError: ERROR: Failed to build gem native extension. for 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 命令,就像它提示我一樣,但它仍然失敗我做錯了什么?

可能,您使用不同的 rails 版本。

解決方案是將sqlite的版本更改為1.3.6:

gem 'sqlite3', '~> 1.3.6'

在此更改后運行命令:

bundle update

試試這個$ sudo apt-get install libsqlite3-dev然后, $ bundle install

嘗試從系統中卸載所有版本的 sqlite3 gem 並僅重新安裝 1.4.0 版本

嗨,當我嘗試在沒有安裝 MinGW gem 的情況下安裝 SQLite gem 時收到相同的消息

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

安裝它並重試如果你沒有安裝 RailsInstaller,它應該可以工作。 如果沒有,請先嘗試卸載它,刪除剩余的文件夾並通過命令gem install rails

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM