Étudions Ruby (https://github.com/everyleaf/el-training) comme Rails Gilrs et [el-training] qui est un programme pour la formation des nouveaux employés de M. Manyo. Ceci est un guide de construction d'environnement pour ceux qui n'ont pas de Mac ou qui ont des spécifications de PC médiocres.
: bangbang: En ce qui concerne RailsGirls, veuillez noter que l'objectif n'est pas la participation, mais pour ceux qui veulent essayer le coaching mais ne sont pas doués pour créer un environnement (y a-t-il une telle personne?): Bow:
À quoi ressemble RailsGirls? Lorsque j'ai sorti une machine Windows que je n'utilise pas normalement et que je l'ai construite sur WSL, il a fallu une heure pour vérifier le fonctionnement des rails (il était naturel que le PC soit impuissant, peut-être qu'il s'agissait d'un disque dur au lieu d'un SSD. Est une cause majeure), alors je l'ai construit sur Cloud9.
Si vous effectuez une recherche sur le net, vous trouverez autant de choses que vous le souhaitez, mais c'était différent de l'environnement que vous vouliez, donc cela sert également de mémo. De plus, j'ai essayé de le résumer soigneusement pour qu'il soit utile même si le temps passe depuis la publication de cet article.
--Réalisations dans Rails Girls -Equivalent à l'achèvement du "Guide d'installation"
Veuillez commencer par le démarrer.
Ouvrez un nouveau terminal.
Une fois ouvert, le terminal démarrera avec le répertoire ~ / environnement
comme répertoire courant. Apparemment, dans Cloud9, il semble être une bonne idée de placer les fichiers de projet, etc. sous ce répertoire.
La date n'est pas à l'heure du Japon (UTC).
Vérifiez la date
y-amadatsu:~/environment $ date
Sat May 16 02:29:10 UTC 2020
Commençons par changer le fuseau horaire.
Vérifiez le fuseau horaire
y-amadatsu:~/environment $ timedatectl list-timezones | grep -i tokyo
Asia/Tokyo
Si vous cochez le fuseau horaire à définir, il ressemble à «Asie / Tokyo».
Réglage du fuseau horaire
y-amadatsu:~/environment $ sudo timedatectl set-timezone Asia/Tokyo
y-amadatsu:~/environment $ date
Sat May 16 11:33:46 JST 2020
J'ai pu confirmer qu'il a été changé à l'heure du Japon avec la commande date
.
Vérifiez la version Ruby. C'est un peu vieux, alors préparez-vous à installer la nouvelle version.
Vérifiez l'état d'installation de ruby
y-amadatsu:~/environment $ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
y-amadatsu:~/environment $ which ruby
/home/ubuntu/.rvm/rubies/ruby-2.6.3/bin/ruby
Par défaut, rvm a été installé, mais comme j'utilise habituellement rbenv, je vais le réinstaller.
Tout d'abord, rvm, au revoir: main_levée:
Désinstaller rvm
y-amadatsu:~/environment $ rvm implode
Are you SURE you wish for rvm to implode?
This will recursively remove /home/ubuntu/.rvm and other rvm traces?
(anything other than 'yes' will cancel) > yes
Removing rvm-shipped binaries (rvm-prompt, rvm, rvm-sudo rvm-shell and rvm-auto-ruby)
Removing rvm wrappers in /home/ubuntu/.rvm/bin
Hai! Removing /home/ubuntu/.rvm
/home/ubuntu/.rvm has been removed.
Note you may need to manually remove /etc/rvmrc and ~/.rvmrc if they exist still.
Please check all .bashrc .bash_profile .profile and .zshrc for RVM source lines and delete or comment out if this was a Per-User installation.
Also make sure to remove `rvm` group if this was a system installation.
Finally it might help to relogin / restart if you want to have fresh environment (like for installing RVM again).
À la fin, il y a une instruction pour supprimer les fichiers inutiles, etc., mais dans mon environnement démarré en tant qu'environnement [^ aws-environment] pour la première fois, il semble gênant de simplement exécuter des rails, donc je vais procéder tel quel. Si vous rencontrez par la suite des problèmes tels que la commande ruby introuvable ou la version de ruby exécutée étant différente, vous devez revoir les paramètres ci-dessus.
[^ aws-environment]: environnement d'exploitation Cloud9 (environnement).
Maintenant, installez rbenv. Continuez en observant la procédure d'installation du site Honke.
Installez rbenv
y-amadatsu:~/environment $ sudo apt-get update
y-amadatsu:~/environment $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
y-amadatsu:~/environment $ cd ~/.rbenv && src/configure && make -C src
make: Entering directory '/home/ubuntu/.rbenv/src'
gcc -fPIC -c -o realpath.o realpath.c
gcc -shared -Wl,-soname,../libexec/rbenv-realpath.dylib -o ../libexec/rbenv-realpath.dylib realpath.o
make: Leaving directory '/home/ubuntu/.rbenv/src'
Cette fois, je l'ai essayé selon la procédure d'installation, mais à partir de maintenant, je pense qu'il est préférable de remplacer sudo apt-get update
par sudo apt update
et de s'y habituer [^ apt-get].
[^ apt-get]: Voir https://linuxfan.info/package-management-ubuntu. Bien qu'apt ait été recommandé et se démarque un peu, il existe de nombreuses descriptions qui ne sont pas à jour sur le net comme celle-ci.
Aussi, j'ai essayé cd ~ / .rbenv && src / configure && make -C src
pour Bash. Je pense qu'il va s'accélérer car il est compilé, mais il est généralement inutile [^ rbenv-compile].
Il a changé pour le répertoire actuel ~ / .rbenv
, mais je vais continuer sans m'en soucier ...
[^ rbenv-compile]: Je pense qu'il n'y a pas de problème car il est assez rapide tel quel. Au contraire, je pense que je vais devoir le compiler à nouveau lorsque je mettrai à jour rbenv lui-même à l'avenir, mais je pense que je vais probablement l'oublier à ce moment-là: angel:
paramètres de rbenv(1)
y-amadatsu:~/.rbenv (master) $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
y-amadatsu:~/.rbenv (master) $ ~/.rbenv/bin/rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:
eval "$(rbenv init -)"
Ajoutez à .bash_profile
comme indiqué.
paramètres de rbenv(2)
y-amadatsu:~/.rbenv (master) $ echo eval "$(rbenv init -)" >> ~/.bash_profile
Fermez et rouvrez le terminal comme indiqué [^ source] Continuer.
[^ source]: Si vous recherchez sur le net, vous trouverez de nombreuses explications sur la procédure pour exécuter source ~ / .bash_profile
. Ce n'est pas une erreur, mais si vous suivez les instructions d'installation (également appelées informations primaires) du fournisseur de logiciels, les chances de rencontrer un problème inconnu diminueront, il est donc recommandé de suivre les instructions honnêtement jusqu'à ce que vous vous y habituiez. Aussi, je voulais omettre l'explication du mouvement des répertoires ici.
C'est un programme de diagnostic comme brew docker
.
paramètres de rbenv(3)
y-amadatsu:~/environment $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /home/ubuntu/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: not found
Unless you plan to add Ruby versions manually, you should install ruby-build.
Please refer to https://github.com/rbenv/ruby-build#installation
Counting installed Ruby versions: none
There aren't any Ruby versions installed under `/home/ubuntu/.rbenv/versions'.
You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK
Naturellement parce que ruby-build
n'est pas inclus
Checking `rbenv install' support: not found
Cependant, le point semble un peu déroutant car l'exemple est affiché dans l'état déjà installé dans la procédure d'installation de rbenv. Cependant, continuons en regardant https://github.com/rbenv/ruby-build#installation comme indiqué.
Cette fois, nous allons procéder à l'installation comme un plug-in rbenv qui semble être courant.
paramètres de rbenv(4)
y-amadatsu:~/environment $ mkdir -p "$(rbenv root)"/plugins
y-amadatsu:~/environment $ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Cloning into '/home/ubuntu/.rbenv/plugins/ruby-build'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 10844 (delta 1), reused 3 (delta 0), pack-reused 10835
Receiving objects: 100% (10844/10844), 2.28 MiB | 16.79 MiB/s, done.
Resolving deltas: 100% (7158/7158), done.
y-amadatsu:~/environment $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /home/ubuntu/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/ubuntu/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20200401-11-g12af1c3)
Counting installed Ruby versions: none
There aren't any Ruby versions installed under `/home/ubuntu/.rbenv/versions'.
You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK
C'est bon. Maintenant, installez ruby. Cette fois, j'ai installé 2.6.6, qui est la dernière version de la série ruby2.6. Si EC2 est t2.micro, cela prendra un certain temps: café: Cela m'a pris environ 10 minutes ... (je me souviens avoir volé: ange :)
installation de rubis
y-amadatsu:~/environment $ rbenv install 2.6.6
Downloading ruby-2.6.6.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.bz2
Installing ruby-2.6.6...
Installed ruby-2.6.6 to /home/ubuntu/.rbenv/versions/2.6.6
y-amadatsu:~/environment $ rbenv global 2.6.6
y-amadatsu:~/environment $ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]
D'accord, l'installation est terminée!
Cette fois, nous allons exécuter rails6, donc installez les packages requis.
En guise de préparation préliminaire, activez l'installation du fil via apt. Reportez-vous au Site officiel et enregistrez d'abord la clé publique pour le dépôt de paquets Debian et définissez apt avant l'installation.
Enregistrement du référentiel de fils
y-amadatsu:~/environment $ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
OK
y-amadatsu:~/environment $ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
deb https://dl.yarnpkg.com/debian/ stable main
Assurez-vous de faire sudo apt update
lorsque vous ajoutez un dépôt.
Mettre à jour la liste des paquets apt
y-amadatsu:~/environment $ sudo apt update
Hit:1 https://download.docker.com/linux/ubuntu bionic InRelease
Get:2 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]
Hit:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:6 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:7 https://dl.yarnpkg.com/debian stable/main amd64 Packages [9953 B]
Get:8 https://dl.yarnpkg.com/debian stable/main all Packages [9953 B]
Fetched 289 kB in 1s (499 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.
Lorsque j'ai importé la dernière liste de packages, il semble que de nombreux packages puissent être mis à jour, je vais donc la mettre à jour à ce moment.
Application des packages de mise à jour(upgrade)
y-amadatsu:~/environment $ sudo apt upgrade -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
...réduction...
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
The sys schema is already up to date (version 1.5.2).
Checking databases.
sys.sys_config OK
Upgrade process completed successfully.
Checking if update is needed.
Setting up mysql-server (5.7.30-0ubuntu0.18.04.1) ...
Processing triggers for initramfs-tools (0.130ubuntu3.9) ...
update-initramfs: Generating /boot/initrd.img-5.3.0-1017-aws
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for systemd (237-3ubuntu10.40) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for dbus (1.12.2-1ubuntu1.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
La mise à jour est terminée ... et j'ai remarqué dans le journal de: point_up: que mysql est déjà là ...
Vérifiez le processus mysql
y-amadatsu:~/environment $ ps aux | grep [m]ysql
mysql 27099 0.1 17.7 1161948 178088 ? Sl 12:36 0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Après tout, il était inclus. ~~ Pour des raisons religieuses ~~ Cette fois, ce n'est pas nécessaire, donc je vais d'abord m'en occuper. Arrêtez d'abord le service, puis désactivez le service de package.
Après avoir arrêté le service ...
Arrêter mysql
y-amadatsu:~/environment $ sudo systemctl stop mysql
Assurez-vous que cela ne fonctionne pas ...
Arrêter mysql(Vérification)
y-amadatsu:~/environment $ sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2020-05-15 12:47:38 UTC; 11s ago
Main PID: 27099 (code=exited, status=0/SUCCESS)
May 15 12:36:21 ip-10-10-10-180 systemd[1]: Starting MySQL Community Server...
May 15 12:36:22 ip-10-10-10-180 systemd[1]: Started MySQL Community Server.
May 15 12:47:36 ip-10-10-10-180 systemd[1]: Stopping MySQL Community Server...
May 15 12:47:38 ip-10-10-10-180 systemd[1]: Stopped MySQL Community Server.
y-amadatsu:~/environment $ ps aux | grep [m]ysql
Désactivez le service (désactivez le paramètre de démarrage automatique au démarrage).
Désactiver le service mysql
y-amadatsu:~/environment $ sudo systemctl disable mysql.service
Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable mysql
y-amadatsu:~/environment $ sudo systemctl list-unit-files mysql.service
UNIT FILE STATE
mysql.service disabled
1 unit files listed.
Maintenant, installez les packages requis.
Installation des services requis pour les rails6
y-amadatsu:~/environment $ sudo apt install postgresql libpq-dev redis yarn -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
...réduction...
Adding user postgres to group ssl-cert
Creating config file /etc/postgresql-common/createcluster.conf with new version
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/system/postgresql.service.
Setting up libsensors4:amd64 (1:3.4.0-4) ...
Setting up postgresql-client-10 (10.12-0ubuntu0.18.04.1) ...
update-alternatives: using /usr/share/postgresql/10/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
Setting up redis-tools (5:4.0.9-1ubuntu0.2) ...
Setting up libpq-dev (10.12-0ubuntu0.18.04.1) ...
Setting up sysstat (11.6.1-1ubuntu0.1) ...
Creating config file /etc/default/sysstat with new version
update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /lib/systemd/system/sysstat.service.
Setting up postgresql-10 (10.12-0ubuntu0.18.04.1) ...
Creating new PostgreSQL cluster 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "C.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgresql/10/main ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Etc/UTC
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
Success. You can now start the database server using:
/usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main -l logfile start
Ver Cluster Port Status Owner Data directory Log file
10 main 5432 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: using /usr/share/postgresql/10/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
Setting up postgresql (10+190ubuntu0.1) ...
Setting up redis-server (5:4.0.9-1ubuntu0.2) ...
Created symlink /etc/systemd/system/redis.service → /lib/systemd/system/redis-server.service.
Created symlink /etc/systemd/system/multi-user.target.wants/redis-server.service → /lib/systemd/system/redis-server.service.
Setting up redis (5:4.0.9-1ubuntu0.2) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for systemd (237-3ubuntu10.40) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
postgres peut confirmer que l'utilisateur postgres a été créé correctement. En outre, il existe une description telle que «Créer un nouveau cluster PostgreSQL 10 / main ...». Postgres crée-t-il maintenant des clusters par défaut: en pensant:
Nous vérifierons le fonctionnement de postgres plus tard, alors assurez-vous que tout le reste est correctement installé.
Confirmation de l'installation
y-amadatsu:~/environment $ redis-cli --version
redis-cli 4.0.9
y-amadatsu:~/environment $ redis-server --version
Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=9435c3c2879311f3
y-amadatsu:~/environment $ yarn --version
1.22.4
redis dispose de 4 systèmes pour le client et le serveur. Avec sidekiq6, 4 ou plus sont nécessaires, donc c'est sûr: détendu:
De plus, les postgres et les redis fonctionnent comme des serveurs, assurez-vous donc qu'ils sont activés en tant que services.
Confirmation de redis
y-amadatsu:~/environment $ sudo systemctl list-unit-files redis*.service
UNIT FILE STATE
redis-server.service enabled
[email protected] disabled
redis.service enabled
3 unit files listed.
Vérification de PostgreSQL
y-amadatsu:~/environment $ sudo systemctl list-unit-files postgres*.service
UNIT FILE STATE
postgresql.service enabled
[email protected] indirect
2 unit files listed.
Sonne comme aucun problème!
Commençons postgres et redis. Vérifiez l'état de démarrage.
Confirmation de redis
y-amadatsu:~/environment $ sudo systemctl status redis-server
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-16 01:34:28 UTC; 32min ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 962 (redis-server)
Tasks: 4 (limit: 1121)
CGroup: /system.slice/redis-server.service
└─962 /usr/bin/redis-server 127.0.0.1:6379
May 16 01:34:27 ip-10-10-10-180 systemd[1]: Starting Advanced key-value store...
May 16 01:34:28 ip-10-10-10-180 systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory
May 16 01:34:28 ip-10-10-10-180 systemd[1]: Started Advanced key-value store.
Vérifier postgres
y-amadatsu:~/environment $ sudo systemctl status postgresql.service
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2020-05-16 01:34:31 UTC; 33min ago
Main PID: 1386 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 1121)
CGroup: /system.slice/postgresql.service
May 16 01:34:31 ip-10-10-10-180 systemd[1]: Starting PostgreSQL RDBMS...
May 16 01:34:31 ip-10-10-10-180 systemd[1]: Started PostgreSQL RDBMS.
: bangbang: En passant, concernant le journal ci-dessus, Cloud9 a été redémarré avant et après la confirmation (je l'ai confirmé le lendemain de l'installation). Probablement ni l'un ni l'autre n'est en cours d'exécution, alors commençons dans ce cas.
Démarrez chaque service
y-amadatsu:~/environment $ sudo systemctl start redis-server.service
y-amadatsu:~/environment $ sudo systemctl start postgresql.service
C'est parfait si vous vérifiez que cela fonctionne correctement avec la commande sudo systemctl status ...
!
Pour postgresql, consultez le journal au moment de l'installation.
Success. You can now start the database server using:
/usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main -l logfile start
Cependant, dans l'environnement Ubuntu, il est plus pratique de démarrer et d'arrêter via systemctl
, donc j'ai utilisé ceci.
Tous les packages nécessaires (pour le moment [^ package-install]) sont maintenant disponibles.
[^ package-install]: Si la compilation native s'exécute pendant l'installation groupée de Gemfile, vous devrez peut-être installer la bibliothèque séparément.
Vérifions le fonctionnement en créant un exemple d'application rails6 en référence à railsgarls. Puisqu'il s'agit d'un contrôle d'opération, une explication détaillée est omise: soulagée:
** Installer des rails **
Installation de rails
y-amadatsu:~/environment $ gem install rails --no-document -v "6.0.3"
** Création d'un exemple d'application de rails **
Créer une application de rails
y-amadatsu:~/environment $ rails new sample
Au fait, "rails new sample" a pris environ 5 minutes dans mon environnement.
** Contrôle de fonctionnement **
De la création d'une application de rails au démarrage du serveur
y-amadatsu:~/environment $ cd sample/
y-amadatsu:~/environment/sample (master) $ rails g scaffold book
y-amadatsu:~/environment/sample (master) $ rails db:migrate
y-amadatsu:~/environment/sample (master) $ rails server
=> Booting Puma
=> Rails 6.0.3 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.3 (ruby 2.6.6-p146), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:8080
* Listening on tcp://[::1]:8080
Use Ctrl-C to stop
Vérifions-le avec un navigateur. Cliquez sur «Aperçu de l'application en cours» dans «Aperçu» dans le menu supérieur.
Lorsque vous cliquez dessus, l'écran d'erreur suivant s'affiche (partiellement rempli)
Il s'agit d'une erreur affichée par le nouveau mécanisme de sécurité de Rails 6. Voir ci-dessous pour plus de détails.
Essayez les nouvelles fonctionnalités de Rails6 78 (Guard DNS rebiding attack)
Copiez le config.hosts <<" xxxxxxxxxxxxxx.vfs.cloud9.us-east-1.amazonaws.com "
affiché sur l'écran d'erreur dans / sample / config / environnements / development.rb
comme suit Veuillez ajouter et enregistrer.
Arrêtez le serveur en cours d'exécution avec Ctrl-C
.
Serveur de rails d'arrêt
y-amadatsu:~/environment/sample (master) $ rails server
=> Booting Puma
=> Rails 6.0.3 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.3 (ruby 2.6.6-p146), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:8080
* Listening on tcp://[::1]:8080
Use Ctrl-C to stop
^C- Gracefully stopping, waiting for requests to finish
=== puma shutdown: 2020-05-16 17:31:18 +0900 ===
- Goodbye!
Exiting
Puis recommencez avec rails server
et revérifiez l'aperçu. De plus, je ne peux pas me connecter avec le navigateur sur Cloud 9 pour une raison quelconque ... Il semble que personne ne puisse résoudre cela même si j'essaye de google. C'est définitivement un paramètre réseau ...: froncer les sourcils2:
Ainsi, à droite de l'URL de l'écran auquel vous ne pouvez pas vous connecter, il y a un "bouton de la fenêtre qui chevauche la flèche" ("Pop Out into New Window" est affiché en survolant la souris), donc cliquez dessus. Le bouton à l'extrémité droite de l'image ci-dessous.
Ensuite, vous pouvez le voir dans l'onglet de votre navigateur.
Ceci termine l'installation des rails filles!
Pour le moment, la base de données est sqlite, remplacez-la par postgresql.
Tout d'abord, remplacez le fichier database.yml
par le contenu suivant [^ database.yml]
[^ database.yml]: À l'origine, il est plus sûr de modifier en fonction de database.yml qui est le résultat de rails new appname --database = postgresql
dans la même version de rails.
/config/database.yml
default: &default
adapter: postgresql
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: postgres
password: postgres
host: localhost
timeout: 5000
development:
<<: *default
database: sample_development
test:
<<: *default
database: sample_test
production:
<<: *default
database: sample_production
Pour le Gemfile, trouvez la ligne sqlite3
, commentez-la et ajoutez gem'pg'
.
Gemfile
#gem 'sqlite3', '~> 1.4'
gem 'pg'
J'ai modifié le Gemfile, alors faisons à nouveau bundle install
[^ bundle-install].
[^ bundle-install]: C'est la même chose pour bundle update
. Personnellement, j'utilise bundle update
pour mettre à niveau uniquement des packages individuels.
Installez les packages requis pour les rails
y-amadatsu:~/environment/sample (master) $ bundle install
Puisqu'il s'agit d'un environnement de développement, l'utilisateur de la base de données quittera postgres et définira facilement le mot de passe.
Définir le mot de passe utilisateur postgres
y-amadatsu:~/environment/sample (master) $ sudo -u postgres psql
psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1))
Type "help" for help.
postgres=# alter role postgres with password 'postgres';
ALTER ROLE
postgres=# \q
y-amadatsu:~/environ
Appuyez sur \ q
pour revenir à la console.
De plus, d'autres sites disent qu'il est nécessaire de modifier pg_hba.conf
, mais avec la série PostgreSQL 10 installée cette fois, les paramètres minimums ont été définis au moment de l'installation, alors sautez-le. Vous trouverez ci-dessous un extrait du journal lors de l'installation.
Creating new PostgreSQL cluster 10/main ... /usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5 The files belonging to this database system will be owned by user "postgres". This user must also own the server process.
Il ne devrait y avoir aucun problème avec les paramètres de la base de données [^ postgres-user]. J'irai aussitôt.
[^ postgres-user]: L'utilisateur postgres
créé lors de l'installation est un soi-disant super utilisateur qui peut tout faire, donc cette utilisation est NG sauf pour le développement local. Veuillez créer un utilisateur pour l'application séparément.
De la création de la base de données à la confirmation du démarrage
y-amadatsu:~/environment/sample (master) $ rake db:create
y-amadatsu:~/environment/sample (master) $ rake db:migrate
y-amadatsu:~/environment/sample (master) $ rails server
Bien que ce soit un écran simple, j'ai confirmé que / books
peut également être répertorié correctement.
Je vous remercie pour votre travail acharné!
Recommended Posts