第一次接触Ruby on Rails, mark一下
1.准备环境。
我是直接在cloud上划拉了一块地方,用的Ubuntu的系统。
root@haiyu-personal:~# uname -a
Linux haiyu-personal 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
2.安装ruby
2.1 设置代理。
我的机器需要设置代理,在文件下 ~/.bashrc 添加:
export http_proxy=http://10.XXX.X.XX:8080
export https_proxy=http://10.XXX.X.XX:8080
记得source 一下生效
2.2 安装RVM(安装这个后可以很方便的管理Ruby)
执行这个即可,但是我这边设置代理后还是提示网络不好,链接不上“gpg: keyserver receive failed: Connection timed out”
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash
升级ubuntu系统后发现这个命令不好用了,这个可以
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
网上查了一下可以这样设置How do I get add-apt-repository to work through a proxy? - Ask Ubuntu
直接把代理指定好,执行没问题
gpg --keyserver-options http-proxy=http://10.xxx.x.xx:8080 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
执行好两条命令后RVM 就安装好了,可以看到我的版本啦
root@haiyu-personal:~# rvm -v
rvm 1.29.10-next (master) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
随着ruby版本的升级,低版本的RVM已经不能支持,所以需要升级rvm的版本,可以使用如下命令:
rvmsudo rvm cleanup all
rvm get stable
不行的可以source一下让修改生效,可以试试这个命令
source /usr/local/rvm/scripts/rvm
实在不知道怎么source的就退出再进来
2.3 安装Ruby
rvm install 2.5.5
写你想要的版本,安装好啦
root@haiyu-personal:~# ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
2.4 设置默认Ruby & 删除Ruby
由于我ruby 升级,导致在不同的目录下有不同的版本,所以我需要设置默认ruby并且删除不用的版本
删除2.5.5
rvm uninstall ruby-2.5.5
设置默认版本
rvm --default use ruby-2.6.5
3 安装rails
gem install rails -v 5.2.1
好啦,都安装好啦。
如果bundle install不成功,可以试试下面这两个
bundle install --full-index
bundle install --full-index --verbose
可以新建项目了,使用命令“rails new your_project_name -d mysql”建好你的项目
————————————————————分割线——————————————————————
基本到这就可以结束了,后面是我自己的项目需要一些包需要手动安装,有问题不怕,Google。
对于已经存在的项目,点进去,先执行“bundle install”可以自动安装依赖项
Q1:"An error occurred while installing capybara-webkit (1.15.0), and Bundler cannot continue.
Make sure that `gem install capybara-webkit -v '1.15.0' --source 'http://gem.wft.int.net.nokia.com/'` succeeds before bundling."
S1: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#debian--ubuntu
sudo apt-get update
sudo apt-get install g++ qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x
Q2:"An error occurred while installing charlock_holmes (0.7.6), and Bundler cannot continue.
Make sure that `gem install charlock_holmes -v '0.7.6' --source 'http://gem.wft.int.net.nokia.com/'` succeeds before bundling."
S2:12.04 - How can i install development libraries for 'icu-le' and 'icu-uc'? - Ask Ubuntu
sudo apt-get install libicu-dev
Q3:"An error occurred while installing libxml-ruby (3.1.0), and Bundler cannot continue.
Make sure that `gem install libxml-ruby -v '3.1.0' --source 'http://gem.wft.int.net.nokia.com/'` succeeds before bundling."
S3:libraries - how to install libxml2 in ubuntu 15.10 - Ask Ubuntu
sudo apt-get install libxml2-dev
Q4:"An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'http://gem.wft.int.net.nokia.com/'` succeeds before bundling."
sudo apt-get install libmysqlclient-dev
Q5:“An error occurred while installing rugged (0.27.2), and Bundler cannot continue.
Make sure that `gem install rugged -v '0.27.2' --source 'http://gem.wft.int.net.nokia.com/'` succeeds before bundling.”
sudo apt-get install cmake
最后“bundle install”成功啦
在你的项目文件夹下执行"rails s",等待启动吧
后面可以根据需要安装自己的mysql, redis 等,不赘述。