Desenvolvimento: Muitos níveis de links simbólicos - Falha ao observar

Sempre recebo este erro ao iniciar

Eu o “corrijo” fazendo isso:

find ~/src/discourse-repos/discourse/plugins/ -type l |xargs rm

Sou só eu?

Starting CSS change watcher
/home/pfaffman/.asdf/installs/ruby/3.3.8/lib/ruby/gems/3.3.0/gems/rb-inotify-0.11.1/lib/rb-inotify/watcher.rb:74:in `initialize': Too many levels of symbolic links - Failed to watch "/h\nome/pfaffman/src/discourse-repos/discourse/plugins/chat/public/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840\nf2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e423\n7ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca\n50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3\nc9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1\nb1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f\n2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237\nade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/41a1b1e4237ade4d3c9b840f2f23ca50/833426b67385a5876ca0e17e82fe3571/833426b67385a5876ca0e17e82fe3571/41a1b1

Essa subpasta na pasta /public/ do plugin de chat não deveria estar lá. Você pode removê-la. (Ela não está no repositório git.)

1 curtida

Eu o removo toda vez usando o comando find acima. Ele é criado automaticamente. Não sei o que o está criando ou por quê.

O problema com o comando find acima é que ele também remove os plugins que estou tentando desenvolver, que são vinculados a outros locais no sistema de arquivos.

Hmm… Não vi isso localmente. Você executa seu servidor local como um ambiente de desenvolvimento, certo, e não como produção?

Talvez haja uma gema/plugin específico que seja responsável… uma maneira de descobrir é executar sua instância local do Discourse sem nada além dos plugins principais e adicionar outros plugins um por um até encontrar qual deles causa esse comportamento. (Se for um plugin… não tenho certeza se é, vale a pena tentar.)

Sim, esta é uma instalação de desenvolvimento no Linux.

O comando find remove todos os plugins. Acho que algo os está criando por algum motivo e, quando eu pressiono ^C para parar o servidor, eles ficam para trás.

EDIT: Aqui está o find que não exclui os plugins:

find plugins/ -type l | grep public | xargs rm -v

Eu também não tenho nada parecido nos diretórios public/ do plugin.

Para onde o link simbólico aponta? Alguma pista do que poderia ser?

Meu Deus. Então, novamente, tenho algum fantasma bizarro na máquina? :crying_cat:

Todos eles apontam de volta para seus pais — public. Não tenho ideia do que eles poderiam ser. Eles apenas começaram a aparecer algumas semanas atrás.

 (main) pfaffman@noreno:~/src/discourse-repos/discourse/plugins$ find . -type l|xargs ls -dl
lrwxrwxrwx 1 pfaffman pfaffman 64 Nov 11 11:22 ./chat/public/1d52c770cd80e083a3718789d1605413 -> /home/pfaffman/src/discourse-repos/discourse/plugins/chat/public
lrwxrwxrwx 1 pfaffman pfaffman 72 Nov 11 11:22 ./discourse-ai/public/b40846a97cdbd0274c3dd7eb54988250 -> /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-ai/public
lrwxrwxrwx 1 pfaffman pfaffman 78 Nov 11 11:22 ./discourse-graphviz/public/b8f3dbf1fd6ee55e3c23d77c83be2c05 -> /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-graphviz/public
lrwxrwxrwx 1 pfaffman pfaffman 73 Nov 11 11:22 ./discourse-lti/public/84caf37dcddbb7cf6a217ab898027cfb -> /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-lti/public
lrwxrwxrwx 1 pfaffman pfaffman 74 Nov 11 11:22 ./discourse-math/public/e38b84b0cb39c3d5b97724bc8b4b6f2f -> /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-math/public
lrwxrwxrwx 1 pfaffman pfaffman 83 Nov 11 11:22 ./discourse-narrative-bot/public/32819192a75a2ed5cbca7f9ba15601cb -> /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-narrative-bot/public
lrwxrwxrwx 1 pfaffman pfaffman 77 Nov 11 11:22 ./discourse-patreon/public/8de4d88071a4dddf83fff5390605465f -> /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-patreon/public
lrwxrwxrwx 1 pfaffman pfaffman 51 Nov 11 11:22 ./discourse-pfaffmanager -> /home/pfaffman/src/pfaffman/discourse-pfaffmanager/
lrwxrwxrwx 1 pfaffman pfaffman 70 Nov 11 11:22 ./styleguide/public/a8a42b154ba5868280256ba6040a2119 -> /home/pfaffman/src/discourse-repos/discourse/plugins/styleguide/public

E agora eu tenho isso:

find plugins/ -type l | grep public | xargs rm -v
#~/.kill_ember
# NOTA: você tem que mudar a ordem, não comentá-los!
UNICORN_WORKERS=1 \
UNICORN_SIDEKIQS=0 \
DISCOURSE_DEV_ALLOW_ANON_TO_IMPERSONATE=1 \
DISCOURSE_MAXMIND_LICENSE_KEY=zLjQgCjCmGeguCIy \
DISCOURSE_DISCOURSE_SUBSCRIPTIONS_SECRET_KEY=sk_test \
DISCOURSE_DISCOURSE_SUBSCRIPTIONS_PUBLIC_KEY=pk_test \
DISCOURSE_DISCOURSE_SUBSCRIPTIONS_SECRET_KEY=sk_live \
DISCOURSE_DISCOURSE_SUBSCRIPTIONS_PUBLIC_KEY=pk_live \
DISCOURSE_DISCOURSE_SUBSCRIPTIONS_ENABLED=true \
DISCOURSE_DISCOURSE_SUBSCRIPTIONS_EXTRA_NAV_SUBSCRIBE=true \
DISCOURSE_S3_ACCESS_KEY_ID=6ZA6XODWYCA3ALIZB2CA \
DISCOURSE_S3_SECRET_ACCESS_KEY="x" \
DISCOURSE_S3_BACKUP_BUCKET="buck" \
DISCOURSE_BACKUP_LOCATION="s3" \
DISCOURSE_S3_ENDPOINT="https://sfo3.digitaloceanspaces.com" \
DISCOURSE_S3_REGION=whatever \
DISCOURSE_FORCE_HTTPS=false \
DISCOURSE_TITLE="Staging/development" \
timeout --foreground -k 15s 60m $COMMAND $*

E de alguma forma isso não está mais funcionando. Eu recebo isso:

Going to run: /home/pfaffman/src/discourse-repos/discourse/bin/rails s
removed 'plugins/chat/public/a5ae10937f40d49cff9c68ff76a72d99'
removed 'plugins/discourse-math/public/f25cafd9c7e5954c858294d80efdacb3'
removed 'plugins/discourse-graphviz/public/f7ab86524adec9500bf4dec9e95694cd'
removed 'plugins/discourse-lti/public/46a2de0d0a87b37acf83d5ee2143484e'
removed 'plugins/discourse-ai/public/e07e3c8844bc668fb0588b87e14d1e6f'
removed 'plugins/discourse-patreon/public/72ee56353e75ed5d55eb95397e84a355'
removed 'plugins/styleguide/public/1f55952c7d509e59355ec6b46cca8f6d'
removed 'plugins/discourse-narrative-bot/public/454d4eb93f5174651ee8ea306ed4be4c'
I, [2025-11-11T13:52:36.976738 #613360]  INFO -- : Refreshing Gem list
Starting CSS change watcher
<internal:dir>:184:in `open': Too many levels of symbolic links @ dir_initialize - /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-math/public/89122751ccaa836c9ede2b5bb5b
917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa83
6c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2
b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2
b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751
ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b9
17df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836c9ede2b5bb5b917df/89122751ccaa836
c9ede2b5bb5b917df/mathjax/jax/output/SVG/fonts/Latin-Modern/NonUnicode/Regular (Errno::ELOOP)

Então está excluindo um desses arquivos, mas depois cria outro?

ask.discourse.org diz

Estou tentando usar bin/dev em vez de ember-cli e bin/rails s. Isso parece ter resolvido o último problema, mas sair com ^c ainda deixa esses links simbólicos para trás.

Não entendo por que mais ninguém tem esse problema.