如何在Windows上安装sqlite3 for Ruby?

dldeef67  于 2022-12-27  发布在  Windows
关注(0)|答案(9)|浏览(140)

作为Ruby/Rails的新手,在这个周末尝试自己解决这个问题之后,我试图在这里寻求建议。
我已经在FreeBSD上完成了一个完整的Ruby/Apache/Passenger设置,我正在尝试完成使用Windows作为Ruby开发环境的任务。
到目前为止:

  • 已安装Ruby,版本2.0.0p0(2013年2月24日)[x64-ming32]
  • Rails is installed, v.3.2.12
  • 我已经安装并注册了Ruby开发工具包。
  • 我将sqlite3 dll/exe复制到Ruby "bin"文件夹(使用"Start Command Prompt with Ruby"控制台时,该文件夹也在我的路径中)。
  • 我可以成功地启动一个rails服务器,并继续学习http://guides.rubyonrails.org/getting_started.html教程到3.3。
  • "〉rake数据库:create"告诉我:

请安装sqlite3适配器:gem install activerecord-sqlite3-adapter(sqlite3不是捆绑包的一部分。请将其添加到Gemfile。)
我对此没有"理解"。尝试安装ActiveRecord-sqlite3-adapter会给我一个"找不到有效的gem ..."

  • "〉gem安装sqlite3"返回:

一个月一个月一个月一个月一个月二个月一个月一个月三个月一个月
x1米4英寸x1米5英寸
现在,我甚至不知道我的Ruby on Windows安装处于什么状态,我试图按照主要的Rails教程,它没有指定任何这些问题(可能是因为Ruby on Windows似乎是许多人的天然痛苦)。
我错过了什么?!?我只是想在Windows上安装sqlite3 for Ruby,看起来很简单,对吗?
如果我执行">rais db",则会显示SQLite shell:
SQLite version 3.7.15.2 2013-01-09 11:53:05
类似的问题和步骤不能解决我的问题:Installing SQLite 3.6 On Windows 7

plupiseo

plupiseo1#

尽管问题已经得到了解答,我还是想把我的研究成果发表出来,以帮助其他人。我在网上找到了很多信息,但作为一个Ruby新手,我很难理解所有的信息。基本的答案来自下面的https://github.com/luislavena/sqlite3-ruby/issues/82帖子,其中有"paulwis"关于如何正确安装sqlite3 for ruby 2.0.0-p0的说明,以及一些关于https://github.com/rails/rails/issues/10150的评论。所以,它是这样的:
1.为您的设置安装Ruby Devkit(为我安装DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,因为我使用的是x64计算机)

  1. Download and extract the autoconf package from Sqlite.org
    1.运行msys.bat(它位于ruby devkit根文件夹中)
  2. cd到您下载sqlite源代码的路径(例如:如果您不熟悉MSYS/MINGW32,请使用"cd/c/dev/sqlite3"作为路径"c:\dev\sqlite3")
    1.运行. "/配置"
    1.运行"make"
    1.运行"make install"
    1.再次获取sqlite3 gem,这次指定平台和新编译的二进制文件的路径:
gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[path\to\sqlite3.h] --with-sqlite3-lib=[path\to\sqlite3.o]

例如:

gem install sqlite3 --platform=ruby -- --with-sqlite3-include=/c:/dev/sqlite3/ --with-sqlite3-lib=/c:/dev/sqlite3/.libs/

(from步骤4)中给出的路径
1.检查你的rails应用的Gemfile.lock,确保它指向正确的sqlite3版本。我的版本是"sqlite3(1.3.7-x86-mingw32)",手动将其更改为"sqlite3(1.3.7-x64-mingw32)"。删除平台也可以:"方体3(1.3.7)"。

taor4pac

taor4pac2#

这是一个老线索,但仍然相关。
对我们来说,编辑Gemfile并为sqlite添加一个特定版本就很简单了。

gem 'sqlite3', '~> 1.3.13'
nfeuvbwi

nfeuvbwi3#

我可以使用以下命令在win XP32上安装带有ruby2.0.0的sqlite3:
第一个月
文件夹C:/distr/sqlite包含以下文件

  • shell.c
  • sqlite3.c
  • sqlite3.h
  • sqlite3ext.h
  • sqlite3.def
  • sqlite3.dll

基本上,我已经将sqlite-amalgamation-3071602.zipsqlite-dll-win32-x86-3071602.zip提取为C:/distr/sqlite

抬头

您仍然需要将sqlite3.dllsqlite3.def的副本放在PATH的某个地方。恕我直言,最好将sqlite3二进制文件保存在ruby的bin文件夹中。

xmd2e60i

xmd2e60i4#

#!/usr/bin/env sh

mkdir c:/sqlite3x86
wget -P c:/sqlite3x86 http://packages.openknapsack.org/sqlite/sqlite-3.7.15.2-x86-windows.tar.lzma
cd c:/sqlite3x86
bsdtar --lzma -xf c:/sqlite3x86/sqlite-3.7.15.2-x86-windows.tar.lzma
gem install sqlite3 --platform=ruby -- --with-opt-dir=c:/sqlite3x86
cd c:/
rm -rf c:/sqlite3x86
gywdnpxw

gywdnpxw5#

对于Windows,请转到C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3.rb
并确保
require "sqlite3"而不是本机

0h4hbjxa

0h4hbjxa7#

您应遵循以下步骤:

  1. gem install bundler(添加到Gem文件中_)
  2. gem 'sqlite3', ' < 1.4'(添加到Gem文件中_)
    然后运行:
install bundler
xtfmy6hx

xtfmy6hx8#

我想我应该给出一个答案--从评论中,为了子孙后代,问题似乎是我抓到了一个新版本的Ruby/Rails(用于Windows),它“还”不兼容SQLite3。
我降级到1.9.x,并能够运行的东西。

eqfvzcg8

eqfvzcg89#

在Windows机器上安装Ruby on Rails最简单的方法是使用RailsInstaller,它会自动为您安装和配置sqlite3。
http://railsinstaller.org/en

相关问题