Ruby sqlite3 gem Windows 10 上的安装问题
Ruby sqlite3 gem installation issue on Windows 10
我对 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\
有人可以为这个安装问题提供一些帮助吗?
在项目 Gemfile 文件中添加 gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"
有效。之后运行bundle install
。确保在机器中安装 git。这是 github link
为了解决所有项目的这个问题,我从 https://rubygems.org/ 下载了 gem 文件并将其保存在本地,通过 cmd
安装了 MinGW
C:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn
和
之后的 SQLite 3 gem
C:\Sites>gem install --local C:\sqlite3-1.4.0.gem
如果您需要修复已创建的项目,它适用于在站点文件夹中创建的所有下一个项目,请在这些行之后再次尝试 运行 bundle install
。
我也试过将 SQLite 3 文件包含到路径中,但它对我也不起作用
这是目前对我有用的方法,它是针对每个项目的修复; Samiul Alam Anik 的回答,但有补充。在你按照这些步骤之后,你可能会得到一个 requires Bundler 2
并且由于这个 GitHub ticket.
我用 gem update --system
解决了这个问题
确保您的计算机上安装了当前 Ruby 版本,安装 node ja,安装 yarn,更新 npm,更新 gem Ruby。
C:\Users\adilkemo>ruby --version
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32]
C:\Users\adilkemo>gem --version
3.2.15
C:\Users\adilkemo>node --version
v16.4.2
C:\Users\adilkemo>yarn --version
1.22.10
C:\Users\adilkemo>npm --version
7.18.1
C:\Users\adilkemo>sqlite3 --version
3.36.0 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5
C:\Users\adilkemo>gem install rails
C:\Users\adilkemo>rails --version
Rails 6.1.4
C:\Users\adilkemo>cd Desktop
C:\Users\adilkemo\Desktop>rails new blog
C:\Users\adilkemo\Desktop>cd blog
C:\Users\adilkemo\Desktop\blog>bin/rails server - Goodbye!
Exiting
Terminate batch job (Y/N)? y
C:\Users\adilkemo\Desktop\blog>
https://rubyinstaller.org/
https://guides.rubygems.org/rubygems-basics/
https://nodejs.org/en/
https://classic.yarnpkg.com/en/docs/install/#windows-stable
https://www.sqlite.org/download.html
https://guides.rubyonrails.org/v5.0/getting_started.html
我对 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\
有人可以为这个安装问题提供一些帮助吗?
在项目 Gemfile 文件中添加 gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"
有效。之后运行bundle install
。确保在机器中安装 git。这是 github link
为了解决所有项目的这个问题,我从 https://rubygems.org/ 下载了 gem 文件并将其保存在本地,通过 cmd
安装了 MinGWC:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn
和
之后的 SQLite 3 gemC:\Sites>gem install --local C:\sqlite3-1.4.0.gem
如果您需要修复已创建的项目,它适用于在站点文件夹中创建的所有下一个项目,请在这些行之后再次尝试 运行 bundle install
。
我也试过将 SQLite 3 文件包含到路径中,但它对我也不起作用
这是目前对我有用的方法,它是针对每个项目的修复; Samiul Alam Anik 的回答,但有补充。在你按照这些步骤之后,你可能会得到一个 requires Bundler 2
并且由于这个 GitHub ticket.
gem update --system
解决了这个问题
确保您的计算机上安装了当前 Ruby 版本,安装 node ja,安装 yarn,更新 npm,更新 gem Ruby。
C:\Users\adilkemo>ruby --version
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32]
C:\Users\adilkemo>gem --version
3.2.15
C:\Users\adilkemo>node --version
v16.4.2
C:\Users\adilkemo>yarn --version
1.22.10
C:\Users\adilkemo>npm --version
7.18.1
C:\Users\adilkemo>sqlite3 --version
3.36.0 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5
C:\Users\adilkemo>gem install rails
C:\Users\adilkemo>rails --version
Rails 6.1.4
C:\Users\adilkemo>cd Desktop
C:\Users\adilkemo\Desktop>rails new blog
C:\Users\adilkemo\Desktop>cd blog
C:\Users\adilkemo\Desktop\blog>bin/rails server - Goodbye!
Exiting
Terminate batch job (Y/N)? y
C:\Users\adilkemo\Desktop\blog>
https://rubyinstaller.org/
https://guides.rubygems.org/rubygems-basics/
https://nodejs.org/en/
https://classic.yarnpkg.com/en/docs/install/#windows-stable
https://www.sqlite.org/download.html
https://guides.rubyonrails.org/v5.0/getting_started.html