Linux安装Ruby并访问数据库
- 下载Ruby
- 安装Ruby
- 编写程序访问数据库
- ruby部署到web
- 一些问题
- make: g++: Command not found
- Error: No such file or directory @ rb_sysopen - /root/ruby/book/config/webpacker.yml (RuntimeError)
- Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/
- Error Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8
下载Ruby
wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.gz
安装Ruby
编译
mv ruby-2.7.1 /usr/local
cd /usr/local/ruby-2.7.1
#prefre指定安装的目录
./configure --prefix=/usr/local/ruby
安装
make
make install
建立软链接
ln -s /usr/local/ruby/bin/ruby /usr/sbin/ruby
ruby -v
安装成功!
编写程序访问数据库
使用 RubyGems 安装 DBI
/usr/local/ruby/bin/gem install dbi
/usr/local/ruby/bin/gem install mysql2
建立工作空间
mkdir $HOME/ruby
cd $HOME/ruby
vim all.rb
内容如下
require 'mysql2'
client = Mysql2::Client.new(
:host => 'localhost', # 主机
:username => 'root', # 用户名
:password => 'root', # 密码
:database => 'database', # 数据库
:encoding => 'utf8' # 编码
)
results = client.query("SELECT * FROM table")
results.each do |item|
puts "#{item['id']} #{item['name']}"
end
ruby部署到web
参考:
安装rails
#临时添加环境变量
export PATH=${PATH}:/usr/local/ruby/bin
对上面的代码稍作修改
安装rails web框架
/usr/local/ruby/bin/gem install rails
/usr/local/ruby/bin/gem install sqlite3
/usr/local/ruby/bin/bundle install
新建web工程
#其中book是工程名
/usr/local/ruby/bin/rails new book
启动server
cd book
#启动server监听9004端口
/usr/local/ruby/bin/rails server -p9004
用浏览器访问
一些问题
make: g++: Command not found
yum install gcc-c++
Error: No such file or directory @ rb_sysopen - /root/ruby/book/config/webpacker.yml (RuntimeError)
bundle exec rails webpacker:install
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/
安装nodejs(如果没有安装过nodejs)
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install nodejs
安装yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
#下载源
wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
#利用yum下载
yum install yarn
注:yarn有验证,必须先curl,再利用yum安装
Error Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8
后记:做不下去了。死于这里,好像centOS7没有大于3.8的sqlite????
wget 下载
tar xvzf 解压
cd 进入解压后的目录
./configure --prefix=/usr/local/sqlite3 编译安装
make
make install
我下的是3.28
重新建立软链接
rm /usr/bin/sqlite3
ln -s /usr/local/sqlite3/bin/sqlite3 /usr/bin/sqlite3
export LD_LIBRARY_PATH="/usr/local/sqlite3/lib"
一开始我还以为下的是3.2,原来是两位数的版本号