【问题标题】: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 的这个错误

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-06-07
          • 2011-11-14
          • 1970-01-01
          • 2012-07-21
          • 2011-12-13
          • 2015-07-01
          • 2011-07-19
          • 1970-01-01
          相关资源
          最近更新 更多