トゥース。すろっくさんだよ。
あーつかれた今年も終わりかーと思ったら二月ですよ。Ruby2.6は例年通り12月に、Rails6はbeta版が、4月のRubyKaigiのあたりで正式版がでるそうですね。
なのでRails6の予習として、beta版でアプリ作ってみることにしました。
musiclinksはお亡くなりになられたのでアプリケーションの名前は「コミラフ」とでもして漫画のネーム投稿サイトとかにしてみますか。やることは認証・投稿・画像アップロード・一覧表示・ユーザページ・見る専ページってとこですかね。
Ruby2.6.1をrbenvでもrvmでも入れときます。
bundlerはRuby2.6から標準で組み込まれているので、gem install bundlerは不要です。
$ mkdir comirough
$ cd comirough
$ bundle init
次はRubyのバージョンと、gemset。
$ echo 2.6.1 > .ruby-version
$ echo comirough > .ruby-gemset
$ cd .
アプリケーション直下にGemfileというファイルがあるので開いて、以下を書く。
frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem 'rails', '~> 6.0.0.beta1'
いれます。
$ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 12.3.2
Fetching concurrent-ruby 1.1.4
Installing concurrent-ruby 1.1.4
Fetching i18n 1.5.3
Installing i18n 1.5.3
Using minitest 5.11.3
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching tzinfo 1.2.5
Installing tzinfo 1.2.5
Fetching activesupport 6.0.0.beta1
Installing activesupport 6.0.0.beta1
・・・・・・
・・・・・
% rails -v
Rails 6.0.0.beta1 <---6〜
プロジェクト開始。6でもこれでいいらしい。途中でactiontextとかでるとワクワクしちゃうね。
$ rails new . -d mysql
・・・・
・・・・
Using activestorage 6.0.0.beta1
Using mini_mime 1.0.1
Using mail 2.7.1
Using actionmailbox 6.0.0.beta1
Using actionmailer 6.0.0.beta1
Using actiontext 6.0.0.beta1
・・・・
・・・
ちなみに今回からフロントエンド、webpackが用意されるようになりました。yarnで入るのでyarnをインストールしておく必要があるようです。これはあとで。
Use `bundle info [gemname]` to see where a bundled gem is installed.
run bundle binstubs bundler
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Post-install message from sass:
Ruby Sass is deprecated and will be unmaintained as of 26 March 2019.
* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
primary implementation: https://sass-lang.com/install
* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
sassc gem: https://github.com/sass/sassc-ruby#readme
* For more details, please refer to the Sass blog:
http://sass.logdown.com/posts/7081811
こんなファイル&ディレクトリがフォルダの下に作成される。この辺はRails5と代わり映えないかも。bin/の下にyarnができましたね。フロントエンド扱うときはyarnを使いなさい。って。
/
├── .ruby-version
├── .ruby-gemset
├── Gemfile
├── Gemfile.lock
├── README.md
├── Rakefile
├── app
│ ├── assets
│ │ ├── config
│ │ │ └── manifest.js
│ │ ├── images
│ │ └── stylesheets
│ │ └── application.css
│ ├── channels
│ │ └── application_cable
│ │ ├── channel.rb
│ │ └── connection.rb
│ ├── controllers
│ │ ├── application_controller.rb
│ │ └── concerns
│ ├── helpers
│ │ └── application_helper.rb
│ ├── javascript
│ │ ├── channels
│ │ │ ├── consumer.js
│ │ │ └── index.js
│ │ └── packs
│ │ └── application.js
│ ├── jobs
│ │ └── application_job.rb
│ ├── mailers
│ │ └── application_mailer.rb
│ ├── models
│ │ ├── application_record.rb
│ │ └── concerns
│ └── views
│ └── layouts
│ ├── application.html.erb
│ ├── mailer.html.erb
│ └── mailer.text.erb
├── bin
│ ├── bundle
│ ├── rails
│ ├── rake
│ ├── setup
│ ├── spring
│ ├── update
│ └── yarn
├── config
│ ├── application.rb
│ ├── boot.rb
│ ├── cable.yml
│ ├── credentials.yml.enc
│ ├── database.yml
│ ├── environment.rb
│ ├── environments
│ │ ├── development.rb
│ │ ├── production.rb
│ │ └── test.rb
│ ├── initializers
│ │ ├── application_controller_renderer.rb
│ │ ├── assets.rb
│ │ ├── backtrace_silencers.rb
│ │ ├── content_security_policy.rb
│ │ ├── cookies_serializer.rb
│ │ ├── filter_parameter_logging.rb
│ │ ├── inflections.rb
│ │ ├── mime_types.rb
│ │ └── wrap_parameters.rb
│ ├── locales
│ │ └── en.yml
│ ├── master.key
│ ├── puma.rb
│ ├── routes.rb
│ ├── spring.rb
│ └── storage.yml
├── config.ru
├── db
│ └── seeds.rb
├── lib
│ ├── assets
│ └── tasks
├── log
├── package.json
├── public
│ ├── 404.html
│ ├── 422.html
│ ├── 500.html
│ ├── apple-touch-icon-precomposed.png
│ ├── apple-touch-icon.png
│ ├── favicon.ico
│ └── robots.txt
├── storage
├── test
│ ├── application_system_test_case.rb
│ ├── channels
│ │ └── application_cable
│ │ └── connection_test.rb
│ ├── controllers
│ ├── fixtures
│ │ └── files
│ ├── helpers
│ ├── integration
│ ├── mailers
│ ├── models
│ ├── system
│ └── test_helper.rb
├── tmp
│ └── storage
└── vendor
サーバ起動しますかねーっていったらこんな風に怒られるので注意
% rails server -p 3000 (git)-[master] ?
=> Booting Puma
=> Rails 6.0.0.beta1 application starting in development
=> Run `rails server --help` for more startup options
RAILS_ENV=development environment is not defined in config/webpacker.yml, falling back to production environment
config/webpacker.ymlがない。本来ならここでrails webpacker:installとかすればいいんだけど、binの中のyarnが認識してくれない。
% brew install yarn
そして作る。
% rails webpacker:install
RAILS_ENV=development environment is not defined in config/webpacker.yml, falling back to production environment
create config/webpacker.yml
Copying webpack core config
create config/webpack
create config/webpack/development.js
create config/webpack/environment.js
create config/webpack/production.js
create config/webpack/test.js
Copying postcss.config.js to app root directory
create postcss.config.js
Copying babel.config.js to app root directory
create babel.config.js
Copying .browserslistrc to app root directory
create .browserslistrc
The JavaScript app source directory already exists
apply /Users/ayase-underdog/.rvm/gems/ruby-2.6.1@comirough/gems/webpacker-4.0.0.rc.7/lib/install/binstubs.rb
Copying binstubs
exist bin
create bin/webpack
create bin/webpack-dev-server
append .gitignore
・・・・
・・・・
・・・・
あらためて
% rails server -p 3000
=> Booting Puma
=> Rails 6.0.0.beta1 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 3.12.0 (ruby 2.6.1-p33), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
表示されましたね。
僕らの戦いは始まったばかりです。これから作るところは時を見て書いていきます。