Centos 7 + Ruby on Rails + MySql 环境搭建
毕设的题目,第一次接触这个,弄了我大半个月才把这环境整明白,必须好好记录一下,感谢网上各位大佬的文章助我一臂之力,在此,我也想整理一份,帮助一下后来的盆友萌。
背景
- 虚拟机 + Centos7
- Ruby版本:Ruby 2.6.3
- Rails版本:Rails 6.0.2.1
- Gem版本:3.0.8
步骤1:通过RVM安装Ruby (RVM的主要作用是方便的管理系统中的多个ruby版本),使用RVM安装ruby、rails等
- 安装RVM
$ curl -L get.rvm.io | bash -s stable
//若提示找不到公钥,执行下边语句
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable
$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
//等待一会,可能会花费一点时间
- 载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)
$ source ~/.rvm/scripts/rvm
- 查看RVM版本
$ rvm -v
- 修改 Gem 的镜像源到 Ruby China 的镜像(ruby-china的源相对来说快一些,稳定一些):
$ gem source #查看源
$ gem source -r https://rubygems.org/ #删除默认源
$ gem source -a https://gems.ruby-china.org/ #添加ruby-china源
$ gem source #添加后再次查看源
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
- 用RVM安装Ruby环境:
$ rvm requirements
$ rvm install ruby #会默认安装最新版本的Ruby,
//如果你想要指定安装版本,可以用
$ rvm install 2.5.2
//你得等一会了,去喝杯茶吧
- 查看Ruby 安装是否成功
$ ruby -v
//将指定版本的Ruby设置系统默认版本
$ rvm use 2.6.3 --default
- 安装bundler
$ sudo gem install bundler
//查看版本
$ bundle -v
步骤二:安装Rails
$ gem install rails
//经过漫长的等待
//查看Rails版本
$ rails -v
到此,Ruby,Rails,Gems 都OK了。
步骤三:安装Node.js
- 官网下载地址:https://nodejs.org/en/download/
我选择的是 :Linux Binaries (x64) - 下载完成后放在 /home/casey/下载 目录下
- 解压到 /usr/local
$ tar -xvf /home/casey/下载/node-v12.16.1-linux-x64.tar.xz -C /usr/local
- 改个短点的名字
$ mv /usr/local/node-v12.16.1-linux-x64 /usr/local/nodejs
- 进入 /usr/local/nodejs 目录下
$ ls /usr/local/nodejs
- /etc/profile文件
$ echo export NODEJS_HOME=/usr/local/nodejs >> /etc/profile
$ echo export PATH=$PATH:$NODEJS_HOME/bin >> /etc/profile
$ echo export NODEJS_PATH=$NODEJS_HOME/lib/node_modules >>/etc/profile
$ source /etc/profile
- 添加软连接
ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm
- 查看是否成功
$ node -v
步骤四:安装MySql
因为rails项目默认的是使用SQLite3的数据库,所以要是用mysql要自己重新安装,如果你要是用默认的数据库可以跳过此步骤。
-
在网上发现了两位大佬的,很有用,可参考:
https://www.cnblogs.com/shuo1208/p/11237713.html
https://www.jianshu.com/p/3d657516882d -
安装MySQL适配器,mysql2提供了这个功能
$ gem install mysql2
//如果报错,执行
$ yum install mysql-devel
//再执行 gem install mysql2
开始你的项目吧
- List item
新建一个项目demo
//这是采用mysql数据库
$ rails new demo -d mysql
//使用默认数据库时
$ rails new demo
- 按下Ctrl+C停止bundle命令,进入demo目录,查看Gemfile的gem镜像源是不是https://gem.ruby-china.org,如果不是编辑Gemfile文件将镜像源改过来(这里前面已经修改了,所以不用再改,如果你不放心可以再进去看一眼,这里前面已经修改了镜像源就不用终止bundle命令),再执行bundle命令
$ bundle
//等待一小会
$ cd demo
$ vi config/database.yml
- 输入数据库密码
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: //在这里输入密码,注意冒号后面有一个空格
socket: /var/lib/mysql/mysql.sock
- 保存退出文件(esc -> :wq)
- 使用这个rake命令创建您的应用程序development和test数据库:
$ rake db:create
- 运行
$ rails s #默认端口号是3000
$ rails s -p xxxx #指定端口号
- 浏览器访问Rails项目:
输入:http://localhost:3000
Over
第一次写文章,希望能帮助到他人,少踩一点坑。