Primero installation issues on Ubuntu 20.04

So I followed the installation instructions on a fresh install of Ubuntu 20.04

Currently getting a Cannot GET / error in the browser.

During installation I failed to execute bin/rails primero:i18n_js because I keep getting the error Rspec not installed--omitting tasks.
I did a seperate gem install rspec and rspec --init but those didn’t do anything.

I have tried these commands to restart my db. For them I got the same same Rspec error.

rails db:drop
rails db:create
rails db:migrate
rails db:seed

Here’s the ouput for these

➜  primero git:(development_v2) ✗ rails db:drop            
Rspec not installed--omitting tasks
Dropped database 'primero_development'
Dropped database 'primero_test'
➜  primero git:(development_v2) ✗ rails db:create
rails db:migrate
rails db:seed
Rspec not installed--omitting tasks
Created database 'primero_development'
Created database 'primero_test'
Rspec not installed--omitting tasks
== 20190130000000 CreateAgencies: migrating ===================================
-- create_table(:agencies, {:id=>:integer})
   -> 0.0084s
-- add_index(:agencies, :agency_code, {:unique=>true})
   -> 0.0044s
-- add_index(:agencies, :unique_id, {:unique=>true})
   -> 0.0043s
-- add_index(:agencies, :services, {:using=>"gin"})
   -> 0.0024s
== 20190130000000 CreateAgencies: migrated (0.0201s) ==========================

== 20190131000000 CreateFormSections: migrating ===============================
-- create_table(:form_sections, {:id=>:integer})
   -> 0.0128s
-- add_index(:form_sections, :unique_id, {:unique=>true})
   -> 0.0051s
== 20190131000000 CreateFormSections: migrated (0.0182s) ======================

== 20190131000001 CreateFields: migrating =====================================
-- create_table(:fields, {:id=>:integer})
   -> 0.0191s
-- add_foreign_key(:fields, :form_sections, {:column=>"subform_section_id"})
   -> 0.0062s
-- add_index(:fields, :name)
   -> 0.0054s
-- add_index(:fields, :type)
   -> 0.0051s
== 20190131000001 CreateFields: migrated (0.0361s) ============================

-- extension_enabled?("pgcrypto")
   -> 0.0023s
-- enable_extension("pgcrypto")
   -> 0.0097s
== 20190216000000 CreateCases: migrating ======================================
-- create_table(:cases, {:id=>:uuid, :default=>"gen_random_uuid()"})
   -> 0.0063s
-- add_index(:cases, :data, {:using=>:gin})
   -> 0.0036s
== 20190216000000 CreateCases: migrated (0.0101s) =============================

== 20190216000001 CreateRecordHistories: migrating ============================
-- create_table(:record_histories, {:id=>:integer})
   -> 0.0090s
-- add_index(:record_histories, [:record_type, :record_id])
   -> 0.0054s
== 20190216000001 CreateRecordHistories: migrated (0.0146s) ===================

== 20190216000002 CreateFlags: migrating ======================================
-- create_table(:flags, {:id=>:integer})
   -> 0.0089s
-- add_index(:flags, [:record_type, :record_id])
   -> 0.0062s
== 20190216000002 CreateFlags: migrated (0.0152s) =============================

== 20190216000003 CreateIncidents: migrating ==================================
-- create_table(:incidents, {:id=>:uuid, :default=>"gen_random_uuid()"})
   -> 0.0093s
-- add_index(:incidents, :data, {:using=>:gin})
   -> 0.0071s
-- add_index(:incidents, :incident_case_id)
   -> 0.0058s
== 20190216000003 CreateIncidents: migrated (0.0224s) =========================

== 20190216000004 CreateTracingRequests: migrating ============================
-- create_table(:tracing_requests, {:id=>:uuid, :default=>"gen_random_uuid()"})
   -> 0.0062s
-- add_index(:tracing_requests, :data, {:using=>:gin})
   -> 0.0027s
-- add_foreign_key(:cases, :tracing_requests, {:column=>"matched_tracing_request_id"})
   -> 0.0017s
== 20190216000004 CreateTracingRequests: migrated (0.0109s) ===================

== 20190226000000 CreateContactInformations: migrating ========================
-- create_table(:contact_informations, {:id=>:integer})
   -> 0.0067s
== 20190226000000 CreateContactInformations: migrated (0.0068s) ===============

== 20190226000001 CreateLookups: migrating ====================================
-- create_table("lookups", {:id=>:integer})
   -> 0.0088s
-- add_index(:lookups, :unique_id, {:unique=>true})
   -> 0.0050s
== 20190226000001 CreateLookups: migrated (0.0140s) ===========================

== 20190226000002 CreateSavedSearches: migrating ==============================
-- create_table(:saved_searches, {:id=>:integer})
   -> 0.0110s
-- create_table(:primero_modules_saved_searches, {:id=>:integer})
   -> 0.0196s
== 20190226000002 CreateSavedSearches: migrated (0.0308s) =====================

== 20190228000000 CreateReports: migrating ====================================
-- create_table(:reports, {:id=>:integer})
   -> 0.0133s
== 20190228000000 CreateReports: migrated (0.0134s) ===========================

== 20190305000000 CreateAuditLogs: migrating ==================================
-- create_table(:audit_logs, {:id=>:integer})
   -> 0.0082s
-- add_index(:audit_logs, :user_id)
   -> 0.0051s
-- add_index(:audit_logs, [:record_type, :record_id])
   -> 0.0044s
-- add_index(:audit_logs, :metadata, {:using=>:gin})
   -> 0.0025s
== 20190305000000 CreateAuditLogs: migrated (0.0205s) =========================

== 20190306000001 CreateExportConfigurations: migrating =======================
-- create_table(:export_configurations, {:id=>:integer})
   -> 0.0069s
-- add_index(:export_configurations, :unique_id, {:unique=>true})
   -> 0.0039s
== 20190306000001 CreateExportConfigurations: migrated (0.0110s) ==============

-- extension_enabled?("ltree")
   -> 0.0024s
-- enable_extension("ltree")
   -> 0.0321s
== 20190308000000 CreateLocations: migrating ==================================
-- create_table(:locations, {:id=>:integer})
   -> 0.0076s
-- add_index(:locations, :location_code, {:unique=>true})
   -> 0.0041s
-- add_index(:locations, :hierarchy_path, {:using=>"gist"})
   -> 0.0022s
== 20190308000000 CreateLocations: migrated (0.0140s) =========================

== 20190311000001 CreateUserGroups: migrating =================================
-- create_table(:user_groups, {:id=>:integer})
   -> 0.0066s
-- add_index(:user_groups, :unique_id, {:unique=>true})
   -> 0.0040s
== 20190311000001 CreateUserGroups: migrated (0.0108s) ========================

== 20190311000005 CreateUsers: migrating ======================================
-- create_table(:users, {:id=>:integer})
   -> 0.0213s
-- add_index(:users, :email, {:unique=>true})
   -> 0.0054s
-- add_index(:users, :user_name, {:unique=>true})
   -> 0.0047s
-- add_index(:users, :reset_password_token, {:unique=>true})
   -> 0.0045s
-- create_table(:user_groups_users, {:id=>:integer})
   -> 0.0171s
== 20190311000005 CreateUsers: migrated (0.0535s) =============================

== 20190318000000 CreateRoles: migrating ======================================
-- create_table(:roles, {:id=>:integer})
   -> 0.0155s
-- add_index(:roles, :unique_id, {:unique=>true})
   -> 0.0088s
-- add_index(:roles, :permissions, {:using=>:gin})
   -> 0.0044s
-- create_table(:form_sections_roles, {:id=>false})
   -> 0.0015s
-- add_index(:form_sections_roles, [:role_id, :form_section_id], {:unique=>true})
   -> 0.0051s
-- create_table(:primero_modules_roles, {:id=>false})
   -> 0.0009s
-- add_index(:primero_modules_roles, [:role_id, :primero_module_id], {:unique=>true})
   -> 0.0041s
== 20190318000000 CreateRoles: migrated (0.0408s) =============================

== 20190405000000 CreatePrimeroPrograms: migrating ============================
-- create_table(:primero_programs, {:id=>:integer})
   -> 0.0068s
== 20190405000000 CreatePrimeroPrograms: migrated (0.0068s) ===================

== 20190408000000 CreatePrimeroModules: migrating =============================
-- create_table(:primero_modules, {:id=>:integer})
   -> 0.0184s
-- add_index(:primero_modules, :unique_id, {:unique=>true})
   -> 0.0065s
-- create_table(:form_sections_primero_modules, {:id=>false})
   -> 0.0011s
== 20190408000000 CreatePrimeroModules: migrated (0.0263s) ====================

== 20190409000000 CreateSystemSettings: migrating =============================
-- create_table(:system_settings, {:id=>:integer})
   -> 0.0103s
== 20190409000000 CreateSystemSettings: migrated (0.0105s) ====================

== 20190410000000 CreateBulkExports: migrating ================================
-- create_table(:bulk_exports, {:id=>:integer})
   -> 0.0073s
== 20190410000000 CreateBulkExports: migrated (0.0074s) =======================

== 20190415000000 CreateConfigurationBundles: migrating =======================
-- create_table(:configuration_bundles, {:id=>:integer})
   -> 0.0073s
== 20190415000000 CreateConfigurationBundles: migrated (0.0074s) ==============

== 20190416181147 CreateActiveStorageTables: migrating ========================
-- create_table(:active_storage_blobs)
   -> 0.0134s
-- create_table(:active_storage_attachments)
   -> 0.0250s
== 20190416181147 CreateActiveStorageTables: migrated (0.0387s) ===============

== 20190717000000 CreateWhitelistedJwts: migrating ============================
-- create_table(:whitelisted_jwts)
   -> 0.0119s
-- add_index(:whitelisted_jwts, :jti, {:unique=>true})
   -> 0.0056s
== 20190717000000 CreateWhitelistedJwts: migrated (0.0177s) ===================

== 20190912000000 CreateTransitions: migrating ================================
-- create_table(:transitions, {:id=>:uuid, :default=>"gen_random_uuid()"})
   -> 0.0089s
-- add_index(:transitions, [:id, :type])
   -> 0.0046s
-- add_index(:transitions, [:record_type, :record_id])
   -> 0.0047s
== 20190912000000 CreateTransitions: migrated (0.0185s) =======================

== 20191125000000 CreateAlerts: migrating =====================================
-- create_table(:alerts, {:id=>:integer})
   -> 0.0263s
== 20191125000000 CreateAlerts: migrated (0.0264s) ============================

== 20191210000000 CreateIdentityProviders: migrating ==========================
-- create_table(:identity_providers, {:id=>:integer})
   -> 0.0066s
-- add_index(:identity_providers, :unique_id, {:unique=>true})
   -> 0.0048s
-- add_index(:identity_providers, :configuration, {:using=>"gin"})
   -> 0.0030s
-- add_reference(:users, :identity_provider, {:type=>:integer, :index=>true})
   -> 0.0048s
== 20191210000000 CreateIdentityProviders: migrated (0.0196s) =================

== 20200127000000 AddIdentityProviderSyncToUsers: migrating ===================
-- add_column(:users, :identity_provider_sync, :jsonb, {})
   -> 0.0006s
== 20200127000000 AddIdentityProviderSyncToUsers: migrated (0.0007s) ==========

== 20200215000000 CreateAttachments: migrating ================================
-- drop_table(:attachment_images, {:if_exists=>true})
   -> 0.0003s
-- drop_table(:attachment_audios, {:if_exists=>true})
   -> 0.0003s
-- drop_table(:attachment_documents, {:if_exists=>true})
   -> 0.0003s
-- create_table(:attachments)
   -> 0.0157s
== 20200215000000 CreateAttachments: migrated (0.0169s) =======================

== 20200602160905 AddApprovalsLabelsToSystemSettings: migrating ===============
-- add_column(:system_settings, :approvals_labels_i18n, :jsonb)
   -> 0.0021s
== 20200602160905 AddApprovalsLabelsToSystemSettings: migrated (0.0023s) ======

Rspec not installed--omitting tasks
Seeding Lookups
Seeding Lookup.
Creating lookup lookup-location-type
Creating lookup lookup-country
Creating lookup lookup-nationality
Creating lookup lookup-ethnicity
Creating lookup lookup-language
Creating lookup lookup-religion
Creating lookup lookup-case-status
Creating lookup lookup-conference-case-status
Creating lookup lookup-incident-status
Creating lookup lookup-displacement-status
Creating lookup lookup-unaccompanied-separated-status
Creating lookup lookup-protection-status
Creating lookup lookup-verification-status
Creating lookup lookup-risk-level
Creating lookup lookup-gbv-sexual-violence-type
Creating lookup lookup-cp-violence-type
Creating lookup lookup-armed-force-group-type
Creating lookup lookup-armed-force-group-name
Creating lookup lookup-separation-cause
Creating lookup lookup-service-type
Creating lookup lookup-followup-type
Creating lookup lookup-protection-concerns
Creating lookup lookup-unhcr-needs-codes
Creating lookup lookup-yes-no
Creating lookup lookup-yes-no-unknown
Creating lookup lookup-yes-no-undecided
Creating lookup lookup-yes-no-not-applicable
Creating lookup lookup-gbv-reported-elsewhere
Creating lookup lookup-approval-type
Creating lookup lookup-gbv-approval-types
Creating lookup lookup-approval-status
Creating lookup lookup-gender
Creating lookup lookup-inquiry-status
Creating lookup lookup-service-referred
Creating lookup lookup-workflow
Creating lookup lookup-service-implemented
Creating lookup lookup-service-response-type
Creating lookup lookup-marital-status
Creating lookup lookup-marital-status-with-spouse
Creating lookup lookup-marital-status-unknown
Creating lookup lookup-perpetrator-relationship
Creating lookup lookup-time-of-day
Creating lookup lookup-incident-location
Creating lookup lookup-incident-identification
Creating lookup lookup-disability-type
Creating lookup lookup-disability-type-with-no
Creating lookup lookup-transition-type
Creating lookup lookup-assessment-duration
Creating lookup lookup-child-minor-age-group
Creating lookup lookup-age-group-type
Creating lookup lookup-discovery-method
Creating lookup lookup-assessment-progress
Creating lookup lookup-further-action_needed
Creating lookup lookup-family-relationship
Creating lookup lookup-tracing-status
Creating lookup lookup-form-group-cp-case
Creating lookup lookup-form-group-cp-tracing-request
Creating lookup lookup-form-group-cp-incident
Creating lookup lookup-form-group-gbv-case
Creating lookup lookup-form-group-gbv-incident
Creating lookup lookup-agency-office
Seeding Export Configuration
Seeding ExportConfiguration.
Creating export configuration export-unhcr-csv
Creating export configuration export-unhcr-csv-jo
Creating export configuration export-duplicate-id-csv
Seeding the system settings
Seeding SystemSettings.
Creating System Settings 
[Re-]Seeding the forms
Seeding FormSection.
Seeding Programs
Seeding PrimeroProgram.
Creating program primeroprogram-primero
Seeding Modules
Seeding PrimeroModule.
Creating module CP
Creating module GBV
Seeding Roles
Seeding Role.
Creating role role-cp-administrator
Creating role role-cp-case-worker
Creating role role-cp-manager
Creating role role-cp-user-manager
Creating role role-gbv-social-worker
Creating role role-gbv-manager
Creating role role-gbv-user-manager
Creating role role-gbv-caseworker
Creating role role-gbv-mobile-caseworker
Creating role role-gbv-case-management-supervisor
Creating role role-gbv-program-manager
Creating role role-gbv-organization-focal-point
Creating role role-agency-user-administrator
Creating role role-gbv-agency-user-administrator
Creating role role-gbv-system-administrator
Creating role role-referral
Creating role role-transfer
Creating role role-ftr-manager
Creating role role-superuser
Seeding User Groups
Seeding UserGroup.
Creating user group usergroup-primero-cp
Creating user group usergroup-primero-ftr
Creating user group usergroup-primero-gbv
Seeding Agencies
Seeding Agency.
Creating agency UNICEF
Seeding Users
Seeding User.
Creating user primero
Creating user primero_admin_cp
Creating user primero_cp
Creating user primero_mgr_cp
Creating user primero_gbv
Creating user primero_mgr_gbv
Creating user primero_ftr_manager
Creating user primero_user_mgr_cp
Creating user primero_user_mgr_gbv
Creating user agency_user_admin
Creating user primero_system_admin_gbv
Creating user agency_user_admin_gbv
Creating user primero_cp_ar
Creating user primero_mgr_cp_ar
Creating user primero_gbv_ar
Creating user primero_mgr_gbv_ar
Creating user primero_sup_gbv
Seeding Default Reports
Seeding Report.
Seeding ContactInformation.

Commands and and made sure to restart my services with

sudo ./compose.local.sh up -d postgres
sudo ./compose.local.sh run solr make-primero-core.sh primero-test
sudo ./compose.local.sh up -d solr

I get no errors in the terminal.
here’s the ouput for -
rails s -

➜  primero git:(development_v2) ✗ rails s
=> Booting Puma
=> Rails 5.2.4.3 application starting in development 
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 4.3.1 (ruby 2.6.6-p146), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

npm run dev -

➜  primero git:(development_v2) ✗ npm run dev

> primero@ dev /home/rom_com/Development/primero
> webpack-dev-server --config webpack/index.js

ℹ 「wds」: Project is running at http://localhost:9000/
ℹ 「wds」: webpack output is served from http://localhost:9000/
ℹ 「wds」: Content not from webpack is served from /home/rom_com/Development/primero/public/packs
ℹ 「wds」: 404s will fallback to /index.html
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
ℹ 「wdm」: wait until bundle finished: /
ℹ 「wdm」: Child
       75 modules
Child
       8377 modules
ℹ 「wdm」: Compiled successfully.

1 Like

What do your browser developer tools say?
Turn off all extensions and then open an incognito window, then more tools -> developer tools on chrome, then load the page and look at the console output
Note that we have not tested on 20.04 just 18.04