§2023-03-04

  1. rails new hello_app --skip-bundle
    • skip-bundle then it will not run bundle install
(FRUM) alexlai@hc4Bullseye:~/rails-proj$ rails new hello_app --skip-bundle
      create  
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  .gitattributes
      create  Gemfile
         run  git init from "."
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
Initialized empty Git repository in /home/alexlai/rails-proj/hello_app/.git/
      create  app
      create  app/assets/config/manifest.js
      create  app/assets/stylesheets/application.css
      create  app/channels/application_cable/channel.rb
      create  app/channels/application_cable/connection.rb
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/jobs/application_job.rb
      create  app/mailers/application_mailer.rb
      create  app/models/application_record.rb
      create  app/views/layouts/application.html.erb
      create  app/views/layouts/mailer.html.erb
      create  app/views/layouts/mailer.text.erb
      create  app/assets/images
      create  app/assets/images/.keep
      create  app/controllers/concerns/.keep
      create  app/models/concerns/.keep
      create  bin
      create  bin/rails
      create  bin/rake
      create  bin/setup
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/cable.yml
      create  config/puma.rb
      create  config/storage.yml
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/assets.rb
      create  config/initializers/content_security_policy.rb
      create  config/initializers/cors.rb
      create  config/initializers/filter_parameter_logging.rb
      create  config/initializers/inflections.rb
      create  config/initializers/new_framework_defaults_7_0.rb
      create  config/initializers/permissions_policy.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/master.key
      append  .gitignore
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  lib
      create  lib/tasks
      create  lib/tasks/.keep
      create  lib/assets
      create  lib/assets/.keep
      create  log
      create  log/.keep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/apple-touch-icon-precomposed.png
      create  public/apple-touch-icon.png
      create  public/favicon.ico
      create  public/robots.txt
      create  tmp
      create  tmp/.keep
      create  tmp/pids
      create  tmp/pids/.keep
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor
      create  vendor/.keep
      create  test/fixtures/files
      create  test/fixtures/files/.keep
      create  test/controllers
      create  test/controllers/.keep
      create  test/mailers
      create  test/mailers/.keep
      create  test/models
      create  test/models/.keep
      create  test/helpers
      create  test/helpers/.keep
      create  test/integration
      create  test/integration/.keep
      create  test/channels/application_cable/connection_test.rb
      create  test/test_helper.rb
      create  test/system
      create  test/system/.keep
      create  test/application_system_test_case.rb
      create  storage
      create  storage/.keep
      create  tmp/storage
      create  tmp/storage/.keep
      remove  config/initializers/cors.rb
      remove  config/initializers/new_framework_defaults_7_0.rb
(FRUM) alexlai@hc4Bullseye:~/rails-proj/hello_app$ tree -L 2
.
├── app  --> core application (app) code, including models, views, controllers, and helpers
│   ├── assets  --> application assets such as Cascading Style Sheets (CSS) and images
│   ├── channels
│   ├── controllers
│   ├── helpers
│   ├── jobs
│   ├── mailers
│   ├── models
│   └── views
├── bin  --> binary executable files
│   ├── rails  --> a program for generating code, opening console sessions, or starting a local server
│   ├── rake
│   └── setup
├── config  --> application configuration
│   ├── application.rb
│   ├── boot.rb
│   ├── cable.yml
│   ├── credentials.yml.enc
│   ├── database.yml
│   ├── environment.rb
│   ├── environments
│   ├── initializers
│   ├── locales
│   ├── master.key
│   ├── puma.rb
│   ├── routes.rb
│   └── storage.yml
├── config.ru  --> a configuration file for Rack middleware
├── db  --> database files
│   └── seeds.rb
├── Gemfile --> gem requirements for this app
├── lib  --> library modules
│   ├── assets
│   └── tasks
├── log  -->  application log files
├── public  --> data accessible to the public (e.g., via web browsers), such as error pages
│   ├── 404.html
│   ├── 422.html
│   ├── 500.html
│   ├── apple-touch-icon.png
│   ├── apple-touch-icon-precomposed.png
│   ├── favicon.ico
│   └── robots.txt
├── Rakefile
├── README.md  --> a brief description of the application
├── storage
├── test  --> application tests
│   ├── application_system_test_case.rb
│   ├── channels
│   ├── controllers
│   ├── fixtures
│   ├── helpers
│   ├── integration
│   ├── mailers
│   ├── models
│   ├── system
│   └── test_helper.rb
├── tmp  --> temporary files
│   ├── cache
│   ├── pids
│   └── storage
└── vendor

35 directories, 27 files
  1. run bundle or bundle install`
    • bundle is the same as bundle install
(FRUM) alexlai@hc4Bullseye:~/rails-proj/hello_app$ bundle
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies...
Using rake 13.0.6
Using concurrent-ruby 1.2.2
Using racc 1.6.2
Using erubi 1.12.0
Fetching minitest 5.17.0
Using builder 3.2.4
Using crass 1.0.6
Fetching rack 2.2.6.3
Using nio4r 2.5.8
Using websocket-extensions 0.1.5
Using marcel 1.0.2
Using date 3.3.3
Using mini_mime 1.1.2
Fetching timeout 0.3.2
Fetching public_suffix 5.0.1
Installing timeout 0.3.2
Installing public_suffix 5.0.1
Installing minitest 5.17.0
Fetching bindex 0.8.1
Installing rack 2.2.6.3
Fetching msgpack 1.6.1
Using bundler 2.4.7
Using matrix 0.4.2
Fetching regexp_parser 2.7.0
Using debug 1.7.1
Using method_source 1.0.0
Using thor 1.2.1
Using zeitwerk 2.6.7
Using rexml 3.2.5
Fetching rubyzip 2.3.2
Installing bindex 0.8.1 with native extensions
Installing msgpack 1.6.1 with native extensions
Installing regexp_parser 2.7.0
Installing rubyzip 2.3.2
Fetching websocket 1.2.9
Fetching sqlite3 1.6.1 (aarch64-linux)
Installing websocket 1.2.9
Using i18n 1.12.0
Using tzinfo 2.0.6
Using nokogiri 1.14.2 (aarch64-linux)
Fetching puma 5.6.5
Installing sqlite3 1.6.1 (aarch64-linux)
Installing puma 5.6.5 with native extensions
Using websocket-driver 0.7.5
Using net-protocol 0.2.1
Fetching addressable 2.8.1
Using rack-test 2.0.2
Fetching sprockets 4.2.0
Installing addressable 2.8.1
Fetching selenium-webdriver 4.8.1
Installing sprockets 4.2.0
Using activesupport 7.0.4.2
Using loofah 2.19.1
Fetching xpath 3.2.0
Installing xpath 3.2.0
Using net-imap 0.3.4
Using net-pop 0.1.2
Using net-smtp 0.3.3
Using rails-dom-testing 2.0.3
Using globalid 1.1.0
Using activemodel 7.0.4.2
Using rails-html-sanitizer 1.5.0
Fetching capybara 3.38.0
Installing capybara 3.38.0
Using mail 2.8.1
Using activejob 7.0.4.2
Using activerecord 7.0.4.2
Using actionview 7.0.4.2
Using actionpack 7.0.4.2
Fetching jbuilder 2.11.5
Installing selenium-webdriver 4.8.1
Installing jbuilder 2.11.5
Using actioncable 7.0.4.2
Using activestorage 7.0.4.2
Using actionmailer 7.0.4.2
Using railties 7.0.4.2
Fetching sprockets-rails 3.4.2
Installing sprockets-rails 3.4.2
Using actionmailbox 7.0.4.2
Using actiontext 7.0.4.2
Fetching importmap-rails 1.1.5
Fetching stimulus-rails 1.2.1
Installing importmap-rails 1.1.5
Installing stimulus-rails 1.2.1
Fetching turbo-rails 1.4.0
Fetching web-console 4.2.0
Installing web-console 4.2.0
Installing turbo-rails 1.4.0
Fetching webdrivers 5.2.0
Using rails 7.0.4.2
Installing webdrivers 5.2.0
Fetching bootsnap 1.16.0
Installing bootsnap 1.16.0 with native extensions
Bundle complete! 15 Gemfile dependencies, 69 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from rubyzip:
RubyZip 3.0 is coming!
**********************

The public API of some Rubyzip classes has been modernized to use named
parameters for optional arguments. Please check your usage of the
following classes:
  * `Zip::File`
  * `Zip::Entry`
  * `Zip::InputStream`
  * `Zip::OutputStream`

Please ensure that your Gemfiles and .gemspecs are suitably restrictive
to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
See https://github.com/rubyzip/rubyzip for details. The Changelog also
lists other enhancements and bugfixes that have been implemented since
version 2.3.0.
  1. put how to write gemspec file latter!!!

  2. rails server

(FRUM) alexlai@hc4Bullseye:~/rails-proj/hello_app$ rails server
=> Booting Puma
=> Rails 7.0.4.2 application starting in development 
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.5 (ruby 3.2.1-p31) ("Birdie's Version")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 114308
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
Started GET "/" for 127.0.0.1 at 2023-03-04 17:49:12 +0800