[ruby on rails]rails安装

加粗样式#### 准备(Mac用户先做这些工作,unix用户跳过)

  • 安装系统需要的包
# For Mac 
# 先安装 [Xcode](http://developer.apple.com/xcode/) 开发工具,它将帮你安装好 Unix 环境需要的开发包, app store 里下载 xcode.app, 安装完成后运行, 在设置中的 Downloads 里安装 Command Line Tools
# 然后安装 [Homebrew](http://brew.sh)
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • 安装 Rails 必要的一些三方库
$ brew install libxml2 libxslt libiconv

1. rvm安装

$ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ curl -sSL https://get.rvm.io | bash -s stable
curl -sSL https://get.rvm.io | bash -s 1.27.0 #安装ruby2.3时候用rvm1.27.0不会报错

 #这个时候国内可能会显示Failed connect to raw.githubusercontent.com:443; 拒绝连接, 解决方案:vi /etc/hosts ,加入199.232.68.133 raw.githubusercontent.com , 这个真实ip可在https://www.ipaddress.com/中查询
 # 如果上面的连接失败,可以尝试: 
$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# keyserver还是不行的话,换server试试,keyserver.ubuntu.com    keys.openpgp.org    pgp.mit.edu
gpg --keyserver keys.openpgp.org --recv-key 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

$ curl -sSL https://get.rvm.io | bash -s stable
# 根据安装提示信息
$ source /etc/profile.d/rvm.sh
$ source ~/.bashrc # 如果是zsh, source ~/.zshrc
$ source ~/.bash_profile
  • 载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)
# 你的地址可能不是~/.rvm/user/db, 用whereis rvm看一下
$  source /usr/local/rvm/scripts/rvm # 可能目录不是这里,看刚才刚装完的提示
source ~/.rvm/scripts/rvm 
  • 修改 RVM 下载 Ruby 的源,到 Ruby China 的镜像
echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > /usr/local/rvm/user/db
# 你的地址可能不是~/.rvm/user/db, 用whereis rvm看一下
echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > ~/.rvm/user/db
  • rvm的使用
rvm list known #列出已知的 Ruby 版本
rvm install 2.7.5 --disable-binary #安装一个 Ruby 版本
rvm use 2.7.5 #切换 Ruby 版本
rvm use 2.7.5 --default  #设置为默认版本
rvm list #查询已经安装的 ruby
rvm remove 2.7.5 #卸载一个已安装版本
  • gemset 的使用
# ruby2.3.1 建立 rails 5.1.7
rvm install 2.7.5 --disable-binary
rvm use 2.7.5
rvm gemset create rails517
rvm use 2.7.5@rails517
# ruby2.6.5 建立 rails 6.0.2
rvm install 2.6.5 --disable-binary
rvm use 2.6.5
rvm gemset create rails602
rvm use 2.6.5@rails602
rvm gemset list #列出当前 Ruby 的 gemset
rvm gemset empty 2.3.1@rails517 #清空一个 gemset 的所有 Gem, 想重新安装所有 Gem
rvm gemset delete rails517 #删除一个 gemset
  • 项目自动加载gemset
1. 进入到项目目录,建立一个 .rvmrc 文件
2. 文件里加入命令 rvm use 2.3.1@rails517

2. rbenv安装

  • mac用户可以直接用 homebrew 安装, unix用户手动安装过程. (不用 zsh 的童鞋注意替换成自己的 shell 配置文件)
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
# 用来编译安装 ruby
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
# 用来管理 gemset, 可选, 因为有 bundler 也没什么必要
git clone git://github.com/jamis/rbenv-gemset.git  ~/.rbenv/plugins/rbenv-gemset
# 通过 rbenv update 命令来更新 rbenv 以及所有插件, 推荐
git clone git://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update
# 使用 Ruby China 的镜像安装 Ruby, 国内用户推荐
git clone git://github.com/AndorChen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror
  • 然后把下面的代码放到 ~/.bashrc 里, ( zsh 用户是 ~/.zshrc)
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export RUBY_BUILD_MIRROR_URL=https://cache.ruby-china.com
  • 载入rbenv 环境(新开 Termal 就不用这么做了,会自动重新载入的)
$ source ~/.bashrc # 如果是zsh, source ~/.zshrc
  • rbenv的使用
rbenv install --list         # 列出所有 ruby 版本
rbenv install 1.9.3-p392     # 安装 1.9.3-p392
rbenv install jruby-1.7.3    # 安装 jruby-1.7.3
rbenv versions               # 列出安装的版本
rbenv version                # 列出正在使用的版本
rbenv global 1.9.3-p392      # 默认使用 1.9.3-p392
rbenv shell 1.9.3-p392       # 当前的 shell 使用 1.9.3-p392, 会设置一个 `RBENV_VERSION` 环境变量
rbenv local jruby-1.7.3      # 当前目录使用 jruby-1.7.3, 会生成一个 `.rbenv-version` 文件
rbenv rehash                 # 每当切换 ruby 版本和执行 bundle install 之后必须执行这个命令
rbenv which irb              # 列出 irb 这个命令的完整路径
rbenv whence irb             # 列出包含 irb 这个命令的版本
  • 解决 MacOSX 下编译 Ruby 无法在 irb 中输入中文的方法
    (https://github.com/tpope/rbenv-readline)
    安装rbenv-readline 到.rbenv/plugins
git clone git://github.com/tpope/rbenv-readline.git  ~/.rbenv/plugins/rbenv-readline
  • M1电脑安装ruby,装不上的问题
RUBY_CFLAGS="-w" rbenv install 2.7.4

3. rails安装

ruby -v
# ruby 2.3.1 ...

gem -v
# 2.1.6
gem sources --list #查看gem源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem install bundler
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
gem install rails --version=5.1.7 --no-ri --no-rdoc

4.rails使用

rails new blogs
rails _5.1.7_ new blogs #指定rails版本新建项目
rails new blogs -d mysql #指定mysql数据库 等同于 rails new blogs --database=mysql
rails new blogs -d postgresql #指定postgresql数据库
  • 指定rspec为测试
rails new blogs -T #  -T 告诉rails不要包含 Test::Unit

group :test do
  gem 'rspec-rails'
end

bundle install
rails g rspec:install

5.升级rails

  • 升级一个项目的rails版本,只需更新Gemfile中对应版本号,然后bundle install即可

6.查看rails应用基本情况

rails about #查看rails版本,ruby版本等
rails stats #查看项目controller,model等数量,代码数量

7.rails6 使用webpack,替换npm,yarn国内源

npm config get registry  // 查看npm当前镜像源

npm config set registry https://registry.npm.taobao.org/  // 设置npm镜像源为淘宝镜像

yarn config get registry  // 查看yarn当前镜像源

yarn config set registry https://registry.npm.taobao.org/  // 设置yarn镜像源为淘宝镜像

8. 安装nodejs yarn ImageMagick libvips

# Node.js最新版
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
# ubuntu  Node.js LTS (v14.x):
sudo curl -sL https://deb.nodesource.com/setup_14.x | bash -
sudo apt-get install -y nodejs
npm install -g yarn
sudo apt install imagemagick
# ubuntu20.04装的vips-8.9.1
sudo apt install libvips
sudo apt install libvips-tools   
sudo apt install imagemagick

# centos
curl -fsSL https://rpm.nodesource.com/setup_14.x | bash -
yum install -y nodejs
yum install -y ImageMagick

#mac
brew install imagemagic
#To unlink from current version
brew unlink node
brew install node@14
brew link node@14

8. 安装数据库连接中间件

  • postgresql
# ubuntu
# An error occurred while installing pg (1.2.3), and Bundler cannot continue. Make sure that `gem install pg -v '1.2.3' --source 'https://rubygems.org/'`
sudo apt install libpq-dev

9. 安装redis nginx git

# ubuntu
sudo apt install redis-server
#ubuntu安装的配置文件在 /etc/redis/redis.conf
daemonize yes #守护进程开启redis
requirepass foobared # foobared 换成你的密码,注意此处的密码长度最好比较长,混合密码,因为redis的速度太快了,通过暴力破解的可能性高于通常的http方式.
bind 0.0.0.0  # 绑定到具体地址 默认是127.0.0.1
# 只设置密码或者绑定ip也行,另一个注释掉
protected-mode yes # 开启保护模式,该模式将需配置bind ip或者设置访问密码
# 启动
redis-server /etc/redis/redis.conf
# 重启
/etc/init.d/redis-server restart

sudo apt install nginx
# 配置文件/etc/nginx/

sudo apt install git

你可能感兴趣的:(ruby,on,rails,ruby,linux,运维)