在使用《Splatoon》的同时,了解bundler的情况下,在Ubuntu 16.04上进行Rails环境的配置
最近我有机会在Ubuntu 16.04上搭建Rails环境,以下是参考资料。之前我已经多次进行环境设置,但是第一次搭建Rails环境时,我不太清楚哪个是哪个,以及它们能做什么,感到非常困扰。所以,如果这些内容对像我当时一样的人有帮助的话,我会很高兴。我个人认为,理解最困难的地方是Bundler,所以我会耐心地介绍它的设置过程。
环境
Ubuntu16.04在Docker上。
要做的事情 zuò de
-
- 安装rbenv
-
- 安装nodejs
-
- 使用bundle管理gem
- 安装rails
以下是4个步骤。
安装rbenv
rbenv的用途是通过安装rbenv来管理Ruby的版本。
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
// パフォーマンスをよくするためにoptionとして実行したらいいらしい(うまくいかなくても次に進んでよし)
$ cd ~/.rbenv && src/configure && make -C src
// パスを通していく
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
// ここで一度環境変数を読み込ませる
$ exec $SHELL
// rbenvをinitする
$ ~/.rbenv/bin/rbenv init
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ exec $SHELL
// これを実行することで各種rubyのバージョンを取得することができるようになる
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
到目前为止,rbenv应该已经成功安装了。让我们试试看吧。
// rbenvでインストールできるrubyのバージョンを一覧表示する
$ rbenv install -l
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
(以下略)
只要你看到一串串可以安装的版本显示出来就可以了。
这次我们试着安装2.4.3版本。
由于可能缺少安装所需的库,请先安装这些库。
$ sudo apt update
$ sudo apt install -y wget bzip2 build-essential libffi-dev libsqlite3-dev tzdata libssl-dev libreadline-dev zlib1g-dev
$ rbenv install 2.4.3
我会确认是否安全进入。
// rbenv内で管理できているrubyのバージョンを一覧表示
// 2.4.3の数字がいたらうまくインストールできてる
$ rbenv versions
2.4.3
// rails用のディレクトリを作る
$ mkdir rails && cd rails
// railsディレクトリ内でruby2.4.3環境を設定する
$ rbenv local 2.4.3
// 以下のように表示されたらOK
$ ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
到目前为止,我已经使用rbenv成功地管理了Ruby的版本。
安装Node.js
nodejs的用途:由于Rails需要nodejs,所以需要安装它。
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install nodejs
$ sudo apt-get install npm
以上就可以了。
使用Bundler根据不同的环境管理gem。
Bundler的用途是为Ruby程序中的gem提供管理功能,可以方便地安装和卸载各种实用的软件包。它可以更进一步管理这些gem。
起初可能会觉得不了解这个工具,感觉配置环境很麻烦,但是一旦使用过就会发现它非常方便。
可以用“喷射战士”来类比一下,可能更容易记住。
Railsスプラトゥーンプロジェクトギアパッケージギアパワーgemスーパーサザエbundlerスパイキー
请务必记住这一点,bundler非常厉害。
// rbenv環境内でbundlerをインストールするようにrbenv execであえて明示する
$ rbenv exec gem install bundler
$ bundle init
当输入最后一条命令时,在当前目录中会生成一个名为Gemfile的文件。我们将使用这个Gemfile文件来管理gem。
在这个文件中,应该有一行写着#gem rails,我们需要将其改写为gem rails。
// Gemfile内で管理されているgemをインストールしていく
$ bundle install --path=vendor/bundle
如果你能达到这个程度,接下来只需要创建一个合适的Rails项目。
$ bundle exec rails new test_app && cd test_app
// railsサーバーをたてる
$ bundle exec rails s
一旦出去的话,工作进行得很顺利。辛苦了!