Instala Discourse en macOS para desarrollo

En desarrollo no se realizan actualizaciones aquí.

Hola Robert, gracias por tu respuesta. ¿Es git pull suficiente para realizar una actualización? (en desarrollo)

1 me gusta

Sí, pero no olvides las gemas y las migraciones:

git pull
bundle install
rake db:migrate
2 Me gusta

Parece que algo anda mal con el script, no logra instalar brew.
(esto es en una Mac Air M2 completamente nueva)

Todo salió bien después de instalar brew yo mismo :slight_smile:

Tenga en cuenta que el script instala la versión 3.1.3 de Ruby y luego bundle exec se enfada porque no usas la 3.2.1 :smiley:

[Advertencia] Discourse recomienda desarrollar usando Ruby v3.2.1 o superior. Estás usando v3.1.3.

2 Me gusta

¡Ya no es cierto! :partying_face:

3 Me gusta

No se instala Ruby por alguna razón. Sigo recibiendo esto:

BUILD FAILED (macOS 12.5.1 using ruby-build 20230309)

Inspect or clean up the working tree at /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC
Results logged to /var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.log

Last 10 log lines:
	Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Generating RDoc documentation
/private/var/folders/f6/95l6wylj4d11_jyvyp7r9yd40000gn/T/ruby-build.20230320012216.80048.RdOmWC/ruby-3.2.1/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych

run with --debug for full backtrace
make: *** [rdoc] Error 1
failed

¿Alguien podría ayudarme con esto?

1 me gusta

Tengo el mismo problema en MacOS 13.2.1.

Esta página es el único resultado de Google al buscar (partes de) este mensaje de error, así que en caso de que alguien más se encuentre con este error nuevamente:

Me encontré con esto hoy al ejecutar rails s después de actualizar a la versión actual de Ruby (3.2.1), Rails (7.0.4.3) y todas las dependencias de Gemfile, incluido mini_racer (0.6.3).

Se solucionó después de seguir una sugerencia de este comentario de GitHub: ejecutar make dentro de
.../3.2.0/gems/mini_racer-0.6.3/ext/mini_racer_extension
y copiar el mini_racer_extension.bundle resultante a .../3.2.0/extensions/x86_64-darwin-22/3.2.0/mini_racer-0.6.3.

Finalmente logré superar el error de compilación de alguna manera (no anoté lo que hice…), pero ahora estoy atascado en:

An error occurred while installing pg (1.4.6), and Bundler cannot continue

Durante bundle install. :thinking:

edit:
Se resolvió siguiendo las instrucciones dadas antes del error:

If you need to have postgresql@13 first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/postgresql@13/bin:$PATH"' >> ~/.zshrc

For compilers to find postgresql@13 you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/postgresql@13/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/postgresql@13/include"

For pkg-config to find postgresql@13 you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/postgresql@13/lib/pkgconfig"

¡Aunque no estoy seguro de cuál! :sweat_smile:

1 me gusta

Debido a problemas de permisos en un portátil de la empresa, tengo que pasar por el script de instalación manualmente para manejar cada elemento uno a uno. Al intentar ejecutar gem update --system, obtengo el siguiente error:

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>'

¿Alguna idea sobre cómo superar esto?

1 me gusta

¿Usaste M1/M2 Apple? Creo que asegúrate de que Ruby 3.2.x sea el predeterminado del sistema instalándolo primero con brew. Luego, para Apple Silicon, puedes hacer

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

en tu .zshrc

Porque el Mac OS X viene con el Ruby 2.x del sistema que estropeará el script de instalación del entorno.

Además, si tienes problemas para iniciar el servicio, haz algo como:

  brew services restart postgresql@13
  brew services restart redis

me funciona ahora.

2 Me gusta

Hola a todos! He estado siguiendo la publicación de instalación aquí y la mayoría de los consejos compartidos me ayudaron mucho a superar algunos problemas que estaba experimentando durante mi instalación en MacOS M1.

Ahora estoy atascado en la última parte de Bootstrap:

bundle exec rails server

El comando anterior funcionó para mí, pude ver algo en localhost:3000 y también registrar al usuario administrador, pero después de ejecutar bin/ember-cli se presentó la siguiente excepción:

$ 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')

Rastreo de pila e informe de error: /var/folders/4l/ksznzcp17sg1wjyq7mmfzfkc0000gn/T/error.dump.b499a1d1d9b275ada33629ea1a84760d.log

¿Me falta algo?

Pude ejecutar bin/ember-cli después de desinstalar el nodo actual e instalar node@20 a través de brew.

1 me gusta

Veo este error en este paso.

Error: No se pudo enlazar simbólicamente bin/c_rehash
Destino /opt/homebrew/bin/c_rehash
es un enlace simbólico que pertenece a openssl@3. Puedes desenlazarlo:
  brew unlink openssl@3

Para forzar el enlace y sobrescribir todos los archivos en conflicto:
  brew link --overwrite openssl@1.1

Para listar todos los archivos que se eliminarían:
  brew link --overwrite --dry-run openssl@1.1
falló

Y este error en ese paso

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': No se pudo encontrar 'bundler' (2.4.13) requerido por tu /Users/Desktop/discourse/Gemfile.lock. (Gem::GemNotFoundException)
Para actualizar a la última versión instalada en tu sistema, ejecuta `bundle update --bundler`.
Para instalar la versión faltante, ejecuta `gem install bundler:2.4.13`

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

¿Alguien puede guiarme sobre cómo proceder? Es mi primera vez. @Arkshine

Lamentablemente, no tengo una computadora con macOS. Sé que el script funciona bien en Windows/Linux; pero en macOS no puedo probarlo.

¿Intentaste ejecutar brew link --overwrite openssl@1.1 y luego ejecutar el script de nuevo? Sin embargo, hay una alta probabilidad de que se detenga nuevamente en esta línea.

¿Alguien sabe cómo configurar variables de entorno con este entorno de desarrollo? Estoy intentando que SSO funcione, pero parece que necesito habilitar CORS. Leí que tengo que hacerlo en app.yml, pero esta configuración no tiene uno. ¿Puede ir en la tabla de la base de datos site_settings? Lo siento, soy nuevo en el desarrollo de Discourse.

Hola @Plabforum,

Me encuentro con exactamente los mismos 2 errores que tú. ¿Has podido resolverlos?

Cualquier consejo sería apreciado.

Lo siento, no tengo buenas noticias. De hecho, me di por vencido después de eso.

Lamento escuchar eso. De hecho, pude superar esto desvinculando openssl@3 a través de:

brew unlink openssl@3

y luego vincular openssl@1.1

brew link --overwrite openssl@1.1

Volví a ejecutar el script sin errores (obtuve un par de advertencias sobre las cosas que se instalaron en la primera ejecución).

2 Me gusta

Parece que he podido instalar Discourse en mi Macbook para desarrollo siguiendo las instrucciones de este tema. Tengo 2 preguntas de seguimiento.

  1. Recibí advertencias y fallos al ejecutar bundle exec rake autospec, ¿es motivo de preocupación? Mi instalación parece funcionar como se esperaba y no muestra errores en la sección de administración.

  2. Me disculpo de antemano si hago una pregunta tonta (soy totalmente nuevo en este tipo de solución/servidor). ¿Necesito ejecutar bundle exec rails server, bin/ember-cli y mailhog cada vez que quiera usar el servidor? ¿Y cómo apago el servidor si quiero?

¡Gracias por tu apoyo!