我学习Rails,我知道这可能是一个愚蠢的问题。但是,当通过运行命令rails db
从命令行查询数据库时,它会产生错误:
Couldn't find database client: sqlite3. Check your $PATH and try again.
我通过在终端上键入sqlite3
来检查是否安装了SQLite3并且它说:
The program 'sqlite3' is currently not installed. You can install it by typing:
sudo apt-get install sqlite3
事情是我遵循Rails指南并且做得很好。我安装了gem sqlite3
,应用程序可以保存,更新和删除没有任何问题。据我所知,sqlite3 gem只是一个与SQLite3引擎一起使用的Ruby接口。如果我还没有安装SQLite3,我的应用程序怎么能保存数据?
为我的英语道歉。
答案 0 :(得分:1)
确保安装了SQLite3的开发标题。
例如:
在Ubuntu上,您可以使用
apt-get install libsqlite3-dev
安装了自制软件的Mac上:
brew install sqlite.
OR
您可以使用Postgres
或MySql
等数据库。
Postgres
的示例:
在Gemfile文件中
gem 'pg'
配置/ database.yml的
adapter: postgresql
encoding: unicode
database: project_development
pool: 5
username: "POSTGRES-USER"
password: "POSTGRES-PASSWORD"
答案 1 :(得分:1)
sqlite3 gem需要安装sqlite3库(& development headers)。但它不需要命令行sqlite3 utility。
在某些发行版中,这些发行版都打包在一起,但并非总是如此。例如在Ubuntu上,命令行客户端由sqlite3包提供,但是libsqlite3提供了库,因此很有可能在不安装命令行实用程序的情况下安装库