Ajuda com asdf e bundle

Este não é realmente um problema do Discourse, mas eu só o tenho com o Discourse. Já pesquisei outras coisas sem sucesso, então estou aqui agora.

Se eu executar bundle install em um diretório Discourse recém-clonado, obtenho isto:

(main) pfaffman@noreno:~/discourse$ bundle install
/home/pfaffman/.asdf/installs/ruby/3.2.2/bin/bundle:25:in `load': cannot load such file -- /home/pfaffman/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.5.3/exe/bundle (LoadError)

Se eu executar em um diretório que tenha um plugin, funciona perfeitamente. Há algum tempo, juro que clonei o Discourse e bundle install funcionou, mas depois parou.

É assim que eu configuro para tentar obter as versões corretas das coisas. Acho que é o problema de alguma forma. Por alguns meses, ou talvez um ano, isso funcionou para obter as versões corretas das coisas da imagem Docker mais recente.

  DISCOURSE_SRC=/home/pfaffman/src/discourse-repos/discourse
  DISCOURSE_DOCKER_SRC=/home/pfaffman/src/discourse-repos/discourse_docker
  cd $DISCOURSE_SRC

  git -C $DISCOURSE_DOCKER_SRC pull https://github.com/discourse/discourse_docker
  DISCOURSE_BASE=$(grep -e ^image= $DISCOURSE_DOCKER_SRC/launcher|cut -d'\"' -f2)
  cd -

  docker pull $DISCOURSE_BASE
  asdf plugin add nodejs #https://github.com/asdf-vm/asdf-nodejs.git
  asdf plugin add ruby #https://github.com/asdf-vm/asdf-ruby.git
  asdf plugin add imagemagick
  asdf plugin update --all
  RUBY_VERSION=$(grep -e ^RUBY_VERSION $DISCOURSE_DOCKER_SRC/image/base/install-ruby|cut -d'\"' -f2)
  echo "GOT RUBY VERSION!! $RUBY_VERSION"
  asdf install ruby $RUBY_VERSION
  asdf global ruby $RUBY_VERSION
  IMAGE_MAGICK_VERSION=$(grep -e ^IMAGE_MAGICK_VERSION ~//src/discourse-repos/discourse_docker/image/base/install-imagemagick|cut -d'\"' -f2)
  echo "GOT IMAGE_MAGICK_VERSION: $IMAGE_MAGICK_VERSION"
  asdf install imagemagick $IMAGE_MAGICK_VERSION
  asdf global imagemagick $IMAGE_MAGICK_VERSION
  # 2023-04-24 debian and pop!os have different nodejs versions
  NODE_VERSION=$(docker run discourse/base:release bash -c 'node --version'|cut -d'v' -f2)
  #NODE_VERSION=$(grep node ~/src/discourse-repos/discourse/.tool-versions|awk '{print $2}')
  echo "GOT NODEJS version: $NODE_VERSION"
  asdf install nodejs $NODE_VERSION
  asdf global nodejs $NODE_VERSION
  npm install -g yarn
  sleep 2
  # end of version updates
  cd $DISCOURSE_SRC
  git checkout main
  git pull
  bundle install
  ./bin/rake db:migrate
  RAILS_ENV=test ./bin/rake db:migrate
  git checkout main
  git pull
  bundle install
  yarn install
  ./bin/rake db:migrate
  RAILS_ENV=test ./bin/rake db:migrate
  exit
1 curtida

Finalmente corrigi com

gem install bundler -v 2.5.3

Não tenho certeza por que ele não sabia para instalar a versão que queria.

3 curtidas

Este tópico foi fechado automaticamente 30 dias após a última resposta. Novas respostas não são mais permitidas.