简体   繁体   English

安装sqlite3(1.3.11)时出错,Bundler无法继续

[英]An error occurred while installing sqlite3 (1.3.11), and Bundler cannot continue

So im trying to $ bundle install --without production before I $ git push heroku master but i keep getting this error所以我试图$ bundle install --without production在我$ git push heroku master但我一直收到这个错误

$ bundle install --without production
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies......
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.3
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.1.8
Using builder 3.2.2
Using erubis 2.7.0
Using actionview 4.1.8
Using rack 1.5.5
Using rack-test 0.6.3
Using actionpack 4.1.8
Using mime-types 2.99
Using mail 2.6.3
Using actionmailer 4.1.8
Using activemodel 4.1.8
Using arel 5.0.1.20140414130214
Using activerecord 4.1.8
Using execjs 2.6.0
Using autoprefixer-rails 6.1.2
Using sass 3.2.19
Using bootstrap-sass 3.3.5
Using bundler 1.10.6
Using coffee-script-source 1.10.0
Using coffee-script 2.4.1
Using thor 0.19.1
Using railties 4.1.8
Using coffee-rails 4.0.1
Using hike 1.2.3
Using multi_json 1.11.2
Using jbuilder 2.3.2
Using jquery-rails 3.1.4
Using tilt 1.4.1
Using sprockets 2.12.4
Using sprockets-rails 2.3.3
Using rails 4.1.8
Using rdoc 4.2.0
Using sass-rails 4.0.5
Using sdoc 0.4.1
Installing sqlite3 1.3.11 with native extensions
C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/ext/ext_conf_builder.rb:39: warning: Tempfile#unlink or delete called on open file; ignoring

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    C:/jruby-9.0.0.0/bin/jruby.exe -r ./siteconf20151208-25620-qipdd0.rb extconf.rb
NotImplementedError: C extensions are not supported
    <top> at C:/jruby-9.0.0.0/lib/ruby/stdlib/mkmf.rb:1
  require at org/jruby/RubyKernel.java:940
   (root) at C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
    <top> at extconf.rb:3

extconf failed, exit code 1

Gem files will remain installed in C:/jruby-9.0.0.0/lib/ruby/gems/shared/gems/sqlite3-1.3.11 for inspection.
Results logged to C:/jruby-9.0.0.0/lib/ruby/gems/shared/extensions/universal-java-1.8/2.2.0/sqlite3-1.3.11/gem_make.out
An error occurred while installing sqlite3 (1.3.11), and Bundler cannot
continue.
Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling.

this is my Gemfile这是我的 Gemfile

source 'https://rubygems.org'

gem 'rails', '4.1.8'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'bootstrap-sass'



group :development, :test do
 gem 'sqlite3'
end

group :production do
 gem 'pg'
 gem 'rails_12factor'
end

group :doc do
    gem 'sdoc', require: false
end

I tried to我试过了

gem uninstall sqlite3
gem install sqlite

But i got但我得到了

$ gem install sqlite3
Building native extensions.  This could take a while...
C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/ext/ext_conf_builder.rb:39: warning: Tempfile#unlink or delete called on open file; ignoring
ERROR:  Error installing sqlite3:
        ERROR: Failed to build gem native extension.

    C:/jruby-9.0.0.0/bin/jruby.exe -r ./siteconf20151208-19428-iytd2g.rb extconf.rb
NotImplementedError: C extensions are not supported
    <top> at C:/jruby-9.0.0.0/lib/ruby/stdlib/mkmf.rb:1
  require at org/jruby/RubyKernel.java:940
   (root) at C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
    <top> at extconf.rb:3

extconf failed, exit code 1

Gem files will remain installed in C:/jruby-9.0.0.0/lib/ruby/gems/shared/gems/sqlite3-1.3.11 for inspection.
Results logged to C:/jruby-9.0.0.0/lib/ruby/gems/shared/extensions/universal-java-1.8/2.2.0/sqlite3-1.3.11/gem_make.out

Does any one have any ideas to what could be causing this?有没有人对可能导致这种情况的原因有任何想法?

I think you need to install sqlite3 and sqlite3-dev first.我认为您需要先安装 sqlite3 和 sqlite3-dev。

sudo apt-get install -y sqlite3 libsqlite3-dev

Have a try, might solve your problem试试看,或许能解决你的问题

This might help.这可能会有所帮助。 I have the same problem.我也有同样的问题。 I searched a lot and I solved it.我搜索了很多,我解决了它。 This is maybe just about sqlite3's version.这可能只是关于 sqlite3 的版本。

You should do this first你应该先这样做

sudo apt-get install -y sqlite3 libsqlite3-dev

then open your Gemfile and change the line of sqlite3 to然后打开你的 Gemfile 并将 sqlite3 的行更改为

gem 'sqlite3', '~> 1.3', '>= 1.3.11'

then run然后运行

bundle install

As benjamin said, you need to install the sqlite3 database before you can install the sqlite3 gem.正如本杰明所说,您需要先安装 sqlite3 数据库,然后才能安装 sqlite3 gem。 It looks like you are on Windows, so try following the instructions listed here:看起来您使用的是 Windows,因此请尝试按照此处列出的说明进行操作:

How do I install sqlite3 for Ruby on Windows? 如何在 Windows 上为 Ruby 安装 sqlite3?

For reference, here is the accepted answer on that thread, by user Williams:作为参考,这是用户 Williams 在该线程上接受的答案:

  1. Install the Ruby Devkit for your setup (DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe for me since I use a x64 machine)为您的设置安装 Ruby Devkit(DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe 因为我使用的是 x64 机器)

  2. Download and extract the autoconf package from Sqlite.org从 Sqlite.org 下载并解压 autoconf 包

  3. Run msys.bat (it is inside the ruby devkit root folder)运行 msys.bat(它在 ruby​​ devkit 根文件夹中)

  4. cd into the path where you downloaded the sqlite source (for example: "cd /c/dev/sqlite3" for path "c:\\dev\\sqlite3" if you are new to MSYS/MINGW32) cd 进入您下载 sqlite 源代码的路径(例如:如果您不熟悉 MSYS/MINGW32,则路径“c:\\dev\\sqlite3”的“cd /c/dev/sqlite3”)

  5. Run "./configure"运行“./configure”

  6. Run "make"运行“制作”

  7. Run "make install"运行“安装”

  8. Get the sqlite3 gem again, this time specifying the platform and the path to the newly compiled binaries:再次获取 sqlite3 gem,这次指定平台和新编译的二进制文件的路径:

    gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[path\\to\\sqlite3.h] --with-sqlite3-lib=[path\\to\\sqlite3.o]

    For example:例如:

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

    (from the paths given in step 4) (来自步骤 4 中给出的路径)

  9. Check the Gemfile.lock of your rails app and make sure that it points to the correct sqlite3 version.检查 Rails 应用程序的 Gemfile.lock 并确保它指向正确的 sqlite3 版本。 Mine was "sqlite3 (1.3.7-x86-mingw32)" and manually changed it to "sqlite3 (1.3.7-x64-mingw32)".我的是“sqlite3(1.3.7-x86-mingw32)”并手动将其更改为“sqlite3(1.3.7-x64-mingw32)”。 Removing the platform also works: "sqlite3 (1.3.7)".删除平台也有效:“sqlite3 (1.3.7)”。

Good luck!祝你好运!

You have to install the sqlite3 database for your operating system, preferably through the tool your OS provides.您必须为您的操作系统安装sqlite3数据库,最好是通过您的操作系统提供的工具。 After doing this, try installing the gem again.执行此操作后,再次尝试安装 gem。 Chances are you have to resolve similar errors by the same procedure.您可能必须通过相同的过程解决类似的错误。

这对我有用。

sudo apt-get install libsqlite3-dev

这将在RedHatCentos上安装 Rails 所需的与 sqlite 相关的软件包:

sudo yum install sqlite sqlite-devel

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 安装sqlite3(1.3.13)时发生错误,并且Bundler无法继续 - An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue “安装sqlite3(1.3.13)时发生错误,并且Bundler无法继续” - “An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue” 安装 sqlite3 (1.3.7) 时出错,Bundler 无法继续无法创建 rails 应用程序 - An error occurred while installing sqlite3 (1.3.7), and Bundler cannot continue Cannot create rails app Rails - 错误“安装 sqlite3 (1.3.13) 时出错,Bundler 无法继续” - Rails - error " An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue" Windows 10上的Rails错误(安装sqlite3(1.4.1)时发生错误,并且Bundler无法继续) - Rails error on windows 10 (An error occurred while installing sqlite3 (1.4.1), and Bundler cannot continue) RoR Michael Hartl Tutorial (3rd) - 安装 sqlite3 时出错,Bundler 无法继续 - RoR Michael Hartl Tutorial (3rd) - An error occurred while installing sqlite3, and Bundler cannot continue 安装 pg (0.15.1) 时出错,Bundler 无法继续 - An error occurred while installing pg (0.15.1), and Bundler cannot continue 安装pg(0.18.2)时发生错误,并且Bundler无法继续 - An error occurred while installing pg (0.18.2), and Bundler cannot continue 安装ZenTest(4.8.2)时发生错误,并且Bundler无法继续。 - An error occurred while installing ZenTest (4.8.2), and Bundler cannot continue. 安装 pg (0.18.4) 时出错,Bundler 无法继续 - An error occurred while installing pg (0.18.4), and Bundler cannot continue
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM