Installa Discourse su macOS per sviluppo

In fase di sviluppo non si eseguono aggiornamenti qui.

Ciao Robert, grazie per la tua risposta. È sufficiente un ‘git pull’ per eseguire un aggiornamento? (in sviluppo)

1 Mi Piace

Sì, ma non dimenticare le gemme e le migrazioni:

git pull
bundle install
rake db:migrate
2 Mi Piace

Sembra che ci sia qualcosa che non va nello script, non riesce a installare brew.
(questo è su un Mac Air M2 nuovo di zecca)

Tutto è andato bene dopo aver installato brew da solo :slight_smile:

Nota che lo script installa la versione Ruby 3.1.3 e poi bundle exec si arrabbia perché non usi la 3.2.1 :smiley:

[Attenzione] Discourse consiglia di sviluppare utilizzando Ruby v3.2.1 o versioni successive. Stai usando la v3.1.3.

2 Mi Piace

Non è più vero! :partying_face:

3 Mi Piace

Non riesco a installare Ruby per qualche motivo. Continuo a ricevere questo:

BUILD FAILED (macOS 12.5.1 using ruby-build 20230309)

Ispeziona o pulisci l'albero di lavoro in /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC
Risultati registrati in /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.log

Ultime 10 righe del log:
	Controlla ext/psych/mkmf.log per maggiori dettagli.
*** Risolvi i problemi, quindi rimuovi queste directory e riprova se vuoi.
Generazione della documentazione RDoc
/private/var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC/ruby-3.2.1/lib/yaml.rb:3: warning: Sembra che la tua installazione ruby non abbia psych (per l'output YAML).
Per eliminare questo avviso, installa libyaml e reinstalla il tuo ruby.
uh-oh! RDoc ha avuto un problema:
impossibile caricare il file -- psych

esegui con --debug per il backtrace completo
make: *** [rdoc] Errore 1
fallito

Qualcuno potrebbe aiutarmi con questo?

1 Mi Piace

Ho lo stesso problema su MacOS 13.2.1.

Questa pagina è l’unico risultato di Google cercando (parti di) questo messaggio di errore, quindi nel caso in cui qualcun altro incontri di nuovo questo errore:

Stavo affrontando questo problema oggi quando ho eseguito rails s dopo l’aggiornamento all’ultima versione di Ruby (3.2.1), Rails (7.0.4.3) e tutte le dipendenze di Gemfile, incluso mini_racer (0.6.3).

È stato risolto seguendo un suggerimento da questo commento di GitHub: eseguendo make all’interno di
.../3.2.0/gems/mini_racer-0.6.3/ext/mini_racer_extension
e copiando il risultante mini_racer_extension.bundle in .../3.2.0/extensions/x86_64-darwin-22/3.2.0/mini_racer-0.6.3.

Sono finalmente riuscito a superare l’errore di compilazione (Install Discourse on macOS for development - #362 by annietg9) in qualche modo (non ho tenuto traccia di quello che ho fatto…), ma ora sono bloccato su:

Si è verificato un errore durante l'installazione di pg (1.4.6) e Bundler non può continuare

Durante bundle install. :thinking:

edit:
È stato risolto seguendo le istruzioni fornite sopra l’errore:

Se hai bisogno di avere postgresql@13 prima nel tuo PATH, esegui:
  echo 'export PATH=\"/opt/homebrew/opt/postgresql@13/bin:$PATH\"' >> ~/.zshrc

Affinché i compilatori trovino postgresql@13 potresti dover impostare:
  export LDFLAGS=\"-L/opt/homebrew/opt/postgresql@13/lib\"
  export CPPFLAGS=\"-I/opt/homebrew/opt/postgresql@13/include\"

Affinché pkg-config trovi postgresql@13 potresti dover impostare:
  export PKG_CONFIG_PATH=\"/opt/homebrew/opt/postgresql@13/lib/pkgconfig\"

Non sono sicuro di quale, però! :sweat_smile:

1 Mi Piace

A causa di problemi di autorizzazione su un laptop aziendale, devo eseguire manualmente lo script di installazione per gestire ogni elemento uno alla volta. Quando provo a eseguire gem update --system, ricevo il seguente errore:

sh-3.2# gem update --system
Updating rubygems-update
Fetching rubygems-update-3.4.12.gem
Successfully installed rubygems-update-3.4.12
Parsing documentation for rubygems-update-3.4.12
Installing ri documentation for rubygems-update-3.4.12
Installing darkfish documentation for rubygems-update-3.4.12
Done installing documentation for rubygems-update after 158 seconds
Parsing documentation for rubygems-update-3.4.12
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.4.12
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `initialize'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `open'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1387:in `block in copy_file'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `open'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `copy_file'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:492:in `copy_file'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:860:in `block in install'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1558:in `block in fu_each_src_dest'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in `fu_each_src_dest0'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1556:in `fu_each_src_dest'
	/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:856:in `install'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:267:in `block (2 levels) in install_executables'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:251:in `chdir'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:251:in `block in install_executables'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:248:in `each'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:248:in `install_executables'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/commands/setup_command.rb:165:in `execute'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command.rb:327:in `invoke_with_build_args'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:252:in `invoke_command'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:192:in `process_args'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/command_manager.rb:150:in `run'
	/Library/Ruby/Gems/2.6.0/gems/rubygems-update-3.4.12/lib/rubygems/gem_runner.rb:51:in `run'
	setup.rb:33:in `<main>'

Qualche idea su come superare questo problema?

1 Mi Piace

Hai usato Apple M1/M2? Penso che dovresti assicurarti che Ruby 3.2.x sia il sistema predefinito installandolo prima tramite brew. Poi, per Apple Silicon, puoi fare

  if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
     export PATH=/opt/homebrew/opt/ruby/bin:$PATH
     export PATH=`gem environment gemdir`/bin:$PATH
  fi

nel tuo .zshrc

Perché Mac OS X viene fornito con il Ruby di sistema 2.x che confonderà lo script di installazione dell’ambiente.

Inoltre, se hai problemi ad avviare il servizio, fai qualcosa come:

  brew services restart postgresql@13
  brew services restart redis

ha funzionato per me ora.

2 Mi Piace

Ciao a tutti! Ho seguito il post sull’installazione qui e la maggior parte dei suggerimenti condivisi mi ha aiutato molto a superare alcuni problemi che stavo riscontrando durante la mia installazione su MacOS M1.

Ora sono bloccato nell’ultima parte di Bootstrap:

bundle exec rails server

Il comando sopra ha funzionato per me, sono stato in grado di vedere qualcosa su localhost:3000 e anche registrare l’utente amministratore, ma dopo aver eseguito bin/ember-cli è stata presentata la seguente eccezione:

$ bin/ember-cli
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
patch-package 8.0.0
Applying patches...
@ember/jquery@2.0.0 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-source@3.28.12 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
WARNING: Ember CLI v5.0.0 is not tested against Node v21.0.0. See "https://github.com/ember-cli/ember-cli/blob/master/docs/node-support.md" to find out which version of Node is best to use.
(node:22167) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Could not `import('file:///Users/myuser/discourse/app/assets/javascripts/discourse/ember-cli-build.js')`: Cannot read properties of undefined (reading 'indexOf')

Stack Trace and Error Report: /var/folders/4l/ksznzcp17sg1wjyq7mmfzfkc0000gn/T/error.dump.b499a1d1d9b275ada33629ea1a84760d.log

Mi manca qualcosa?

Sono riuscito a eseguire bin/ember-cli dopo aver disinstallato il nodo corrente e installato node@20 tramite brew.

1 Mi Piace

Vedo questo errore in questo passaggio.

Errore: Impossibile creare un collegamento simbolico a bin/c_rehash
Target /opt/homebrew/bin/c_rehash
è un collegamento simbolico appartenente a openssl@3. Puoi scollegarlo:
  brew unlink openssl@3

Per forzare il collegamento e sovrascrivere tutti i file in conflitto:
  brew link --overwrite openssl@1.1

Per elencare tutti i file che verrebbero eliminati:
  brew link --overwrite --dry-run openssl@1.1
fallito

E questo errore in quel passaggio

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': Impossibile trovare 'bundler' (2.4.13) richiesto dal tuo /Users/Desktop/discourse/Gemfile.lock. (Gem::GemNotFoundException)
Per aggiornare all'ultima versione installata sul tuo sistema, esegui `bundle update --bundler`.
Per installare la versione mancante, esegui `gem install bundler:2.4.13`

	da /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
	da /usr/bin/bundle:23:in `<main>'

Qualcuno può guidarmi su come procedere? È la prima volta che lo faccio. @Arkshine

Purtroppo non possiedo un computer macOS. So che lo script funziona bene su Windows/Linux; ma su macOS non posso testarlo.

Hai provato a eseguire brew link --overwrite openssl@1.1, quindi a rieseguire lo script? Tuttavia, c’è un’alta probabilità che si fermi di nuovo su questa riga.

Qualcuno sa come impostare le variabili d’ambiente con questo ambiente di sviluppo? Sto cercando di far funzionare l’SSO ma sembra che debba abilitare il CORS. Ho letto che devo farlo in app.yml ma questa configurazione non ne ha uno. Può essere inserito nella tabella del database site_settings? Scusa, sono nuovo allo sviluppo di discourse.

Ciao @Plabforum,

Sto riscontrando esattamente gli stessi 2 errori tuoi. Sei riuscito a risolverli?

Qualsiasi consiglio sarebbe apprezzato.

Mi dispiace, non ho buone notizie. In realtà ho rinunciato dopo quello.

Mi dispiace sentirlo. Sono riuscito a superare questo problema scollegando openssl@3 tramite:

brew unlink openssl@3

e poi collegando openssl@1.1

brew link --overwrite openssl@1.1

Ho rieseguito lo script di nuovo senza errori (ho ricevuto un paio di avvisi riguardo alle cose che erano state installate nella prima esecuzione).

2 Mi Piace

Sembra che sia riuscito a installare Discourse sul mio Macbook per lo sviluppo seguendo le istruzioni in questo argomento. Ho 2 domande di follow-up.

  1. Ho ricevuto avvisi e fallimenti durante l’esecuzione di bundle exec rake autospec, è motivo di preoccupazione? La mia installazione sembra funzionare come previsto e non mostra errori nella sezione di amministrazione.

  2. Mi scuso in anticipo se faccio una domanda sciocca (sono totalmente nuovo a questo tipo di soluzione/server). Devo eseguire bundle exec rails server, bin/ember-cli e mailhog ogni volta che vorrei usare il server? E come spengo il server se voglio?

Grazie per il tuo supporto!