我正在尝试在输入时创建一个新的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
答案 0 :(得分:1)
检查您的Gemfile
和GemFile.lock
,看看版本是否已修复。删除版本或根据需要进行更改。
答案 1 :(得分:1)
执行以下操作:
删除你的gemfile.lock
运行bundle install
。
如果捆绑安装仍然失败,请运行gem uninstall sqlite3
并运行bundle install
Gemfile和Gemfile.lock位于文件的根文件夹中
答案 2 :(得分:0)
将您的app文件夹结构与此进行比较:
请注意文件夹结构以及Gemfile
所在的位置。在Gemfile
内部,有一些宝石或插件可用于新Rails应用程序中通常需要的不同软件依赖项。打开Gemfile
并检查文件并查找sqlite3。修改sqlite3旁边的版本号以匹配'1.3.8'
。例如:
gem 'sqlite3', '1.3.8'
修改强>
我建议卸载/删除sqlite3的所有实例并遵循以下说明:
gem update --system
gem install sqlite3
gem list sqlite3
rails new appappapp