在Ubuntu 18.04中安装Rails开发环境
本文介绍在Ubuntu 18.04上不用Docker,使用本地安装组件的方式搭建Rails+PostgreSQL开发环境的步骤。
搭建步骤
- 下载Ubuntu 18.04.3 TLS安装镜像,下载地址: https://ubuntu.com/download/desktop。安装完成后,登录系统,打开Terminal。
安装vim编辑器
1sudo apt install vim按照https://github.com/rvm/ubuntu_rvm的安装方法,安装rvm, 命令如下:
1234567sudo apt install gnupg2gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBsudo apt-get install software-properties-commonsudo apt-add-repository -y ppa:rael-gc/rvmsudo apt-get updatesudo apt-get install rvmrvm安装完毕后,为了每次登陆时自动load rvm,执行如下命令。
1echo 'source "/etc/profile.d/rvm.sh"' >> ~/.bashrc退出当前Terminal重新登陆,重新加载rvm环境变量
安装Ruby,此处以ruby 2.3.7为例
1rvm install ruby-2.3.7国内访问官网源可能很慢,可以根据实际网速状况,来决定是否需要修改为使用ruby china的ruby源。
12345## 修改系统级别的ruby源为ruby china, Ubuntu下rvm源的安装目录为/usr/share/rvmsudo echo "ruby_url=https://cache.ruby-china.com/pub/ruby" >> /usr/share/rvm/user/db## 修改用户级别的ruby源echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db安装Rails项目中可能需要的一些组件,按实际项目要求进行增减
1sudo apt-get install memcached redis-server imagemagick ghostscript安装PostgreSQL
如果要安装PostgreSQL 10, 那么直接apt-get即可
1sudo apt-get install postgresql postgresql-contrib libpq-dev如果要安装其他版本的PG,那么需要load官方的源来安装,如下以安装PostgreSQL 9.6为例。
1234567sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -sudo apt-get update# 检查确认postgresql-9.6在apt list中sudo apt list | grep -i postgresudo apt-get install postgresql-9.6 postgresql-contrib-9.6 libpq-dev
设置PostgreSQL的密码。因为是开发环境,直接使用postgres账号也没关系。使用如下命令来设置postgres的密码。
123sudo su - postgrespsqlALTER USER postgres WITH PASSWORD 'password';Rails编译assets时,需要nodejs,使用如下命令安装nodejs
1sudo apt install nodejs nodejs-dev运行Rails。clone代码到对应目录,执行
bundle install
下载gem,rails s
启动Rails。
禁止Ubuntu自动更新
Ubuntu Desktop默认会启动自动更新,国内网速不好的情况下,更新时间会比较长,此时apt会被lock住。再使用apt install
命令会报unable to lock the administration directory (/var/lib/dpkg/) is another process using it
的错误。
因此,建议关闭自动更新机制,有必要的话进行手动更新。
通过命令行方式来禁止
编辑apt自动更新文件/etc/apt/apt.conf.d/20auto-upgrades
将APT::Periodic::Update-Package-Lists
的值从1变为0
使用GUI的方式来禁止
在GUI界面中搜索Software & updates
,找到软件和更新。
打开更新
tab,在自动检查更新
下拉列表中选取从不
。
输入密码,完成更新。
禁用apt-daily更新
禁用apt-daily的命令如下: