【问题标题】:Sqlite3 gem for Rails 3.1Rails 3.1 的 Sqlite3 gem
【发布时间】:2011-12-28 23:52:51
【问题描述】:
我想使用命令创建 myApp
rails new myApp
但它给出了一个错误:
安装带有原生扩展的 sqlite3 (1.3.4)
Gem::Installer::ExtensionBuildError: 错误: 无法构建 gem native
扩展名。
/usr/bin/ruby1.8 extconf.rb 检查 sqlite3.h... 没有 sqlite3.h
失踪。尝试 'port install sqlite3 +universal' 或 'yum install
sqlite3-devel' 并检查您的共享库搜索路径(位置
您的 sqlite3 共享库所在的位置)。
* extconf.rb failed * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。查看
mkmf.log 文件以获取更多详细信息。您可能需要配置
选项。
提供的配置选项:
--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
--没有-make-prog
--srcdir=。
--curdir
--ruby=/usr/bin/ruby1.8
--with-sqlite3-dir
--没有-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
--启用本地
--disable-local
Gem 文件将继续安装在
/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4 用于检查。结果
登录到
/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out 一个
安装 sqlite3 (1.3.4) 时出错,Bundler 不能
继续。确保gem install sqlite3 -v '1.3.4' 成功
在捆绑之前。
我该怎么办?谢谢
【问题讨论】:
标签:
ruby-on-rails
ruby
sqlite
【解决方案1】:
确保您已安装 SQLite3 的开发头文件。
例如:
在 Ubuntu 上,您可以使用 apt-get install libsqlite3-dev
在安装了自制软件的 Mac 上:brew install sqlite。
【解决方案2】:
我发现每当我在 Ubuntu 上重新安装 rails 时运行这个命令非常有帮助。这通常会处理超级常见的 zlib 和 sqlite3 错误。
/usr/bin/apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6 -dev ncurses-dev
【解决方案3】:
我遇到了同样的问题,但在 Windows 中。
我现在只找到两个解决方案
1* 项目创建失败后,进入其文件夹,修改Gemfile。
换行
gem 'sqlite3', '1.3.11'
通过以下其中之一:
gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-ruby"
gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-ruby", branch: "add-gemspec"
gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"
然后为这个项目再次运行bundle install 命令
我发现的第二个解决方案是从https://rubygems.org/ 下载 gem 并将其保存在本地以从文件安装,首先,您必须安装 mingw(但仅适用于 Windows)
C:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn
C:\Sites>gem install --local C:\sqlite3-1.4.0.gem
我尝试了其他一些解决方案,但只有这两个对我有用。
https://mycodeissuesandfixes.blogspot.com/2019/02/ruby-on-rails-issue-about-sqlite-3-gem.html
这些是其他修复,但我不知道它们是否会在 Linux 中为您提供帮助。
希望能帮助到你!!我已经尝试了 5 天,直到我发现可以解决 sqlite 3 gem 的这个错误