Rails捆绑安装失败

时间:2015-06-11 03:43:04

标签: ruby-on-rails ruby sqlite

我正在尝试在输入时创建一个新的rails应用程序:

rails new app

然后我得到错误:

Could not find sqlite3-1.3.8 in any of the sources
Run `bundle install` to install missing gems.

然后我运行bundle install并收到此错误:

An error occurred while installing sqlite3 (1.3.8), and Bundler cannot      continue.
Make sure that `gem install sqlite3 -v '1.3.8'` succeeds before bundling.

我有 sqlite3(1.3.10) sqlite3-full(1.3.9.3) sqlite3-ruby(1.3.3)

当我安装了1.3.10时,我不知道为什么安装要使用1.3.8。我是rails的新手,但过去几周我已经制作了一些小应用程序,这是我第一次发生这种情况。是否有我可以编辑的本地Gem文件,所以当我创建一个新的应用程序时,它不会尝试使用这个旧的gem。我也尝试使用相同的错误创建一个使用postgres的新应用程序。

我正在使用mac osx 10.10.1。 ruby版本2.2.1。

感谢您的帮助。

编辑: 我跑的时候

gem install sqlite3 -v '1.3.8'

这是结果:

./ sqlite3_ruby.h:16:36:注意:从宏“RBIGNUM_LEN”扩展  #define RBIGNUM_LEN(x)RBIGNUM(x) - > len

~~~~~~~~~~ ^

statement.c:261:32:错误:使用未声明的标识符'SIZEOF_BDIGITS'       if(RBIGNUM_LEN(value)* SIZEOF_BDIGITS< = 8){                                ^ 生成1个警告和2个错误。 make:*** [statement.o]错误1

make failed,退出代码2

3 个答案:

答案 0 :(得分:1)

检查您的GemfileGemFile.lock,看看版本是否已修复。删除版本或根据需要进行更改。

答案 1 :(得分:1)

执行以下操作:

删除你的gemfile.lock 运行bundle install

如果捆绑安装仍然失败,请运行gem uninstall sqlite3 并运行bundle install

Gemfile和Gemfile.lock位于文件的根文件夹中

答案 2 :(得分:0)

将您的app文件夹结构与此进行比较:

enter image description here

请注意文件夹结构以及Gemfile所在的位置。在Gemfile内部,有一些宝石或插件可用于新Rails应用程序中通常需要的不同软件依赖项。打开Gemfile并检查文件并查找sql​​ite3。修改sqlite3旁边的版本号以匹配'1.3.8'。例如:

gem 'sqlite3', '1.3.8'

修改

我建议卸载/删除sqlite3的所有实例并遵循以下说明:

  1. 确保您拥有最新版本的rubygems:gem update --system
  2. 卸载sqlite3
  3. 安装sqlite3:gem install sqlite3
  4. 检查安装版本:gem list sqlite3
  5. 运行rails new appappapp