ThibaultLatrille / ControverSciences

ControverSciences est un portail collaboratif qui rassemble les publications scientifiques autour de questions controversées, en les rendant accessible à tous.
https://controversciences.org/
15 stars 5 forks source link

Problèmes d'installation #1479

Closed Skeptim closed 1 year ago

Skeptim commented 4 years ago

Bonjour, Désolé pour le dérangement, j'aimerais installer Controversciences sur Ubuntu 18.04.4 mais j'ai eu plusieurs problèmes en suivant les consignes du README (je ne suis pas informaticien de formation :) ): 1) postgresql-9.4 semble obsolète Est-ce qu'il faut l'installer tout de même (c'est ce que j'ai fait avec https://askubuntu.com/questions/633919/how-install-postgresql-9-4/703452#703452) ou est-ce qu'on peut installer postgresql? 2) En créant le role dans PostgreSQL j'ai eu le message ERROR: role "controversciences" already exists J'imagine que ce n'est pas problématique mais au cas où... 3) bundle install me donne Your Ruby version is 2.5.3, but your Gemfile specified 2.5.6 J'ai installé et utilisé 2.5.6 à la place, est-ce la bonne solution? J'ai aussi essayé de modifier le Gemfile mais ça me donne tout de même les mêmes erreurs par la suite. 4) rake db:create me donne Rack::File is deprecated, please use Rack::Files instead. Database 'controversciences_dev' already exists 5) rails s me donne

➜  ControverSciences git:(master) rails s       
=> Booting WEBrick
=> Rails 5.2.3 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Rack::File is deprecated, please use Rack::Files instead.
[2020-07-01 22:14:29] INFO  WEBrick 1.4.2
[2020-07-01 22:14:29] INFO  ruby 2.5.6 (2019-08-28) [x86_64-linux]
[2020-07-01 22:14:29] INFO  WEBrick::HTTPServer#start: pid=24534 port=3000
Started GET "/" for 127.0.0.1 at 2020-07-01 22:14:37 -0400
   (1.0ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC

ActiveRecord::PendingMigrationError - Migrations are pending. To resolve this issue, run:

        bin/rails db:migrate RAILS_ENV=development

:

127.0.0.1 - - [01/Jul/2020:22:14:37 EDT] "GET / HTTP/1.1" 500 54765
- -> /
Started POST "/__better_errors/d34bb193197edf7b/variables" for 127.0.0.1 at 2020-07-01 22:14:38 -0400
127.0.0.1 - - [01/Jul/2020:22:14:38 EDT] "POST /__better_errors/d34bb193197edf7b/variables HTTP/1.1" 200 50952
http://localhost:3000/ -> /__better_errors/d34bb193197edf7b/variables
127.0.0.1 - - [01/Jul/2020:22:14:38 EDT] "GET /favicon.ico HTTP/1.1" 200 0
- -> /favicon.ico

6) bin/rails db:migrate RAILS_ENV=development me donne

➜  ControverSciences git:(master) ✗ bin/rails db:migrate RAILS_ENV=development
Rack::File is deprecated, please use Rack::Files instead.
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateTimelineChoices < ActiveRecord::Migration[4.2]
/home/timothee/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.3/lib/active_record/migration.rb:528:in `inherited'
/home/timothee/code/ControverSciences/db/migrate/20160305213322_create_timeline_choices.rb:1:in `<top (required)>'
/home/timothee/.rvm/gems/ruby-2.5.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
...
...

Je ne sais pas si je donne assez de détails et si vous allez pouvoir reproduire l'erreur, n'hésitez pas à demander si besoin. D'avance merci!

ThibaultLatrille commented 4 years ago

Bonjour @TimotheeGreg,

Merci d'avoir prit le temps de rapporter le bug, désolé si ça n'a pas marché avec les instructions, en effet le README est potentiellement obsolète ;-)

  1. Cela est tout à fait possible d'utiliser les nouvelles versions de postgresql, je viens de vérifier sur ma version local et celle en production, en local je suis sur v11.8 et celle en production sur v12.3.

  2. En effet cela veut dire que le role existe déjà, si il a les mêmes droits tout fonctionnera, si il n'a pas les droits suffisants il faudra les ajouter.

  3. Entre 2.5.6 et 2.5.3 de ruby il s'agit de changement mineur, c'est possible mais j'aurai plutôt tendance à penser que l'origine du bug est ailleurs. Le code devrait raisonnablement tourner dans les 2 versions.

4-6 : J'ai réussi à reproduire l'erreur de mon coté, je cherche une solution pour la corriger et je reviens vers vous dès que j'en ai une.

C'était très complet avec suffisamment de détails, merci beaucoup.

ThibaultLatrille commented 4 years ago

Re-bonjour,

L'erreur provenait d'un conflit entre les dernières migrations (modifications dans la structure de la base de données) et le backup de la base de données (./dump/controversciences_dev.dump) qui n'était pas conforme à cette structure.

J'ai mis à jour le fichier _./dump/controversciencesdev.dump ainsi que le README (Ruby 2.5.6 conforme au Gemfile, abandon postgresql v9) dans le dernier commit https://github.com/ThibaultLatrille/ControverSciences/commit/fe9263ac55f72fac4d2cb1dbfdcf56d0c7f0d583

Ainsi avec un avec pull et une nouvelle instanciation de la base de données, le serveur devrait se lancer

git pull
rake db:drop db:create
sh ./dump/pg_restore

Encore merci pour votre rapport de bug détaillé. J'espère que cela fonctionnera chez vous ;-)

Skeptim commented 4 years ago

Super! Ça marche, merci pour votre réponse rapide!