# 重建失败

**URL:** https://meta.discourse.org/t/failing-rebuild/257842
**Category:** Self-hosting
**Created:** [2023年三月12日 09:39 UTC](https://meta.discourse.org/t/failing-rebuild/257842 "2023-03-12T09:39:26Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Ashwani\_K\_Goel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ashwani_k_goel/32/129382_2.png) [@Ashwani\_K\_Goel](https://meta.discourse.org/u/Ashwani_K_Goel)
#### Post date: [2023年三月12日 09:39 UTC](https://meta.discourse.org/t/failing-rebuild/257842/1 "2023-03-12T09:39:28Z")

</div>

我已经尽力了

我的服务器之前安装的是 Ubuntu 14.04。我逐步将其升级到了 Ubuntu 20.04

将 Ruby 升级到了 3.2.0

更新了所有 Gems，并且在尝试几次后成功运行了 Bundle install

但是，我的应用重建仍然在以下步骤失败

````plaintext

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' 失败，返回 #<Process::Status: pid 1001 exit 1>

=== 以下是完整日志，如果有人能帮我 ====

 ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 60 app
app
2.0.20230222-0048: Pulling from discourse/base
Digest: sha256:6a7dd0755c6832e1ecfc8cc980f27836b69b4162d6ff1b6a3e4e382a3b854803
Status: Image is up to date for discourse/base:2.0.20230222-0048
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-03-12T09:23:45.582702 #1] INFO -- : Reading from stdin
I, [2023-03-12T09:23:45.588627 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2023-03-12T09:23:45.676392 #1] INFO -- : Generating locales (this might take a while)...
Generation complete.

........

I, [2023-03-12T09:23:52.289964 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-03-12T09:23:52.345460 #1] INFO -- : ALTER SCHEMA

I, [2023-03-12T09:23:52.346045 #1] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE: extension "hstore" already exists, skipping
I, [2023-03-12T09:23:52.418226 #1] INFO -- : CREATE EXTENSION

I, [2023-03-12T09:23:52.418663 #1] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE: extension "pg_trgm" already exists, skipping
I, [2023-03-12T09:23:52.469508 #1] INFO -- : CREATE EXTENSION

I, [2023-03-12T09:23:52.469966 #1] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE: extension "hstore" already exists, skipping
I, [2023-03-12T09:23:52.523130 #1] INFO -- : CREATE EXTENSION

I, [2023-03-12T09:23:52.523588 #1] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE: extension "pg_trgm" already exists, skipping
I, [2023-03-12T09:23:52.574187 #1] INFO -- : CREATE EXTENSION

I, [2023-03-12T09:23:52.574697 #1] INFO -- : > sudo -u postgres psql discourse
I, [2023-03-12T09:23:52.579344 #1] INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2023-03-12T09:23:52.694116 #1] INFO -- : File > /var/lib/postgresql/take-database-backup chmod: +x chown: postgres:postgres
I, [2023-03-12T09:23:52.696669 #1] INFO -- : File > /var/spool/cron/crontabs/postgres chmod: chown: 
I, [2023-03-12T09:23:52.697044 #1] INFO -- : > echo postgres installed!
I, [2023-03-12T09:23:52.698822 #1] INFO -- : postgres installed!

I, [2023-03-12T09:23:52.702821 #1] INFO -- : File > /etc/service/redis/run chmod: +x chown: 
I, [2023-03-12T09:23:52.706746 #1] INFO -- : File > /etc/service/redis/log/run chmod: +x chown: 
I, [2023-03-12T09:23:52.710688 #1] INFO -- : File > /etc/runit/3.d/10-redis chmod: +x chown: 
I, [2023-03-12T09:23:52.712640 #1] INFO -- : Replacing daemonize yes with in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.713472 #1] INFO -- : Replacing (?-mix:^pidfile.*$) with in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.715182 #1] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-03-12T09:23:52.717485 #1] INFO -- : 
I, [2023-03-12T09:23:52.718124 #1] INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.718856 #1] INFO -- : Replacing (?-mix:^bind .*$) with in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.720355 #1] INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.721962 #1] INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.723364 #1] INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2023-03-12T09:23:52.724625 #1] INFO -- : > echo redis installed
I, [2023-03-12T09:23:52.726494 #1] INFO -- : redis installed

I, [2023-03-12T09:23:52.726987 #1] INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-03-12T09:23:52.732778 #1] INFO -- : logfile ""

I, [2023-03-12T09:23:52.733183 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-03-12T09:23:52.734367 #1] INFO -- : > sleep 10
102:C 12 Mar 2023 09:23:52.758 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
102:C 12 Mar 2023 09:23:52.758 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=102, just started
102:C 12 Mar 2023 09:23:52.758 # Configuration loaded
102:M 12 Mar 2023 09:23:52.759 * monotonic clock: POSIX clock_gettime
102:M 12 Mar 2023 09:23:52.760 * Running mode=standalone, port=6379.
102:M 12 Mar 2023 09:23:52.760 # Server initialized
102:M 12 Mar 2023 09:23:52.760 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
102:M 12 Mar 2023 09:23:52.761 # WARNING Your system is configured to use the 'xen' clocksource which might lead to degraded performance. Check the result of the [slow-clocksource] system check: run 'redis-server --check-system' to check if the system's clocksource isn't degrading performance.
102:M 12 Mar 2023 09:23:52.761 * Loading RDB produced by version 7.0.7
102:M 12 Mar 2023 09:23:52.761 * RDB age 487 seconds
102:M 12 Mar 2023 09:23:52.762 * RDB memory usage when created 18.23 Mb
102:M 12 Mar 2023 09:23:52.815 * Done loading RDB, keys loaded: 14205, keys expired: 0.
102:M 12 Mar 2023 09:23:52.815 * DB loaded from disk: 0.054 seconds
102:M 12 Mar 2023 09:23:52.815 * Ready to accept connections
I, [2023-03-12T09:24:02.737389 #1] INFO -- : 
I, [2023-03-12T09:24:02.737590 #1] INFO -- : > thpoff echo "thpoff is installed!"
I, [2023-03-12T09:24:02.741466 #1] INFO -- : thpoff is installed!

I, [2023-03-12T09:24:02.741588 #1] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2023-03-12T09:24:02.818900 #1] INFO -- : 
I, [2023-03-12T09:24:02.819491 #1] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2023-03-12T09:24:02.897249 #1] INFO -- : 
I, [2023-03-12T09:24:02.897878 #1] INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2023-03-12T09:24:02.976784 #1] INFO -- : 
I, [2023-03-12T09:24:02.977383 #1] INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-03-12T09:24:02.979687 #1] INFO -- : 
I, [2023-03-12T09:24:02.982284 #1] INFO -- : File > /etc/cron.d/anacron chmod: chown: 
I, [2023-03-12T09:24:02.986273 #1] INFO -- : File > /etc/runit/1.d/copy-env chmod: +x chown: 
I, [2023-03-12T09:24:02.990213 #1] INFO -- : File > /etc/service/unicorn/run chmod: +x chown: 
I, [2023-03-12T09:24:02.994184 #1] INFO -- : File > /etc/service/nginx/run chmod: +x chown: 
I, [2023-03-12T09:24:02.998103 #1] INFO -- : File > /etc/runit/3.d/01-nginx chmod: +x chown: 
I, [2023-03-12T09:24:03.002194 #1] INFO -- : File > /etc/runit/3.d/02-unicorn chmod: +x chown: 
I, [2023-03-12T09:24:03.002665 #1] INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2023-03-12T09:24:03.003171 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-03-12T09:24:03.005237 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
129:C 12 Mar 2023 09:24:03.013 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
129:C 12 Mar 2023 09:24:03.017 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=129, just started
129:C 12 Mar 2023 09:24:03.018 # Configuration loaded
129:M 12 Mar 2023 09:24:03.018 * monotonic clock: POSIX clock_gettime
129:M 12 Mar 2023 09:24:03.019 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
129:M 12 Mar 2023 09:24:03.019 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (32914/32914), done.
I, [2023-03-12T09:24:07.800951 #1] INFO -- : HEAD is now at dc9af489 DEV: Remove use of redesigned_user_page_nav_enabled prop client side 2 (#20388)

I, [2023-03-12T09:24:07.801512 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-03-12T09:24:07.993606 #1] INFO -- : 
I, [2023-03-12T09:24:07.994279 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git remote set-branches --add origin main
I, [2023-03-12T09:24:08.004496 #1] INFO -- : 
I, [2023-03-12T09:24:08.005032 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git remote set-branches origin tests-passed
I, [2023-03-12T09:24:08.015632 #1] INFO -- : 
I, [2023-03-12T09:24:08.016070 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git fetch --depth 1 origin tests-passed
From https://github.com/discourse/discourse
 * branch tests-passed -> FETCH_HEAD
 * [new branch] tests-passed -> origin/tests-passed
I, [2023-03-12T09:24:10.929942 #1] INFO -- : 
I, [2023-03-12T09:24:10.931336 #1] INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git checkout tests-passed
Switched to a new branch 'tests-passed'
I, [2023-03-12T09:24:12.007881 #1] INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2023-03-12T09:24:12.008406 #1] INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-03-12T09:24:12.011565 #1] INFO -- : 
I, [2023-03-12T09:24:12.011915 #1] INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-03-12T09:24:12.015078 #1] INFO -- : 
I, [2023-03-12T09:24:12.015418 #1] INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-03-12T09:24:12.018131 #1] INFO -- : 
I, [2023-03-12T09:24:12.018464 #1] INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-03-12T09:24:12.021067 #1] INFO -- : 
I, [2023-03-12T09:24:12.021395 #1] INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-03-12T09:24:12.026114 #1] INFO -- : 
I, [2023-03-12T09:24:12.026428 #1] INFO -- : > cd /var/www/discourse && mkdir -p /shared/log/rails
I, [2023-03-12T09:24:12.029007 #1] INFO -- : 
I, [2023-03-12T09:24:12.029310 #1] INFO -- : > cd /var/www/discourse && bash -c "touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-03-12T09:24:12.040679 #1] INFO -- : 
I, [2023-03-12T09:24:12.041133 #1] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2023-03-12T09:24:12.045992 #1] INFO -- : 
I, [2023-03-12T09:24:12.046297 #1] INFO -- : > cd /var/www/discourse && bash -c "mkdir -p /shared/{uploads,backups}"
I, [2023-03-12T09:24:12.050305 #1] INFO -- : 
I, [2023-03-12T09:24:12.050612 #1] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-03-12T09:24:12.054342 #1] INFO -- : 
I, [2023-03-12T09:24:12.054640 #1] INFO -- : > cd /var/www/discourse && bash -c "mkdir -p /shared/tmp/{backups,restores}"
I, [2023-03-12T09:24:12.060957 #1] INFO -- : 
I, [2023-03-12T09:24:12.061272 #1] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-03-12T09:24:12.065100 #1] INFO -- : 
I, [2023-03-12T09:24:12.065405 #1] INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-03-12T09:24:14.155783 #1] INFO -- : 
I, [2023-03-12T09:24:14.156300 #1] INFO -- : > cd /var/www/discourse && [! -d public/plugins] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-03-12T09:24:14.164858 #1] INFO -- : 
I, [2023-03-12T09:24:14.165825 #1] INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2023-03-12T09:24:14.166527 #1] INFO -- : > cd /var/www/discourse/plugins && mkdir -p plugins
I, [2023-03-12T09:24:14.169176 #1] INFO -- : 
I, [2023-03-12T09:24:14.169504 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2023-03-12T09:24:16.031849 #1] INFO -- : 
I, [2023-03-12T09:24:16.032773 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-adplugin.git
Cloning into 'discourse-adplugin'...
I, [2023-03-12T09:24:16.877304 #1] INFO -- : 
I, [2023-03-12T09:24:16.877860 #1] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-sitemap
Cloning into 'discourse-sitemap'...
I, [2023-03-12T09:24:17.652808 #1] INFO -- : 
I, [2023-03-12T09:24:17.653505 #1] INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-03-12T09:24:17.661575 #1] INFO -- : 
I, [2023-03-12T09:24:17.662153 #1] INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-03-12T09:24:17.665924 #1] INFO -- : 
I, [2023-03-12T09:24:17.666421 #1] INFO -- : > mkdir -p /var/nginx/cache
I, [2023-03-12T09:24:17.670361 #1] INFO -- : 
I, [2023-03-12T09:24:17.671573 #1] INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2023-03-12T09:24:17.672223 #1] INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2023-03-12T09:24:17.672756 #1] INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2023-03-12T09:24:17.673657 #1] INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2023-03-12T09:24:17.674518 #1] INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2023-03-12T09:24:17.674961 #1] INFO -- : > echo "done configuring web"
I, [2023-03-12T09:24:17.676763 #1] INFO -- : done configuring web

I, [2023-03-12T09:24:17.677270 #1] INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2023-03-12T09:24:18.885515 #1] INFO -- : Successfully installed bundler-2.4.4
1 gem installed

I, [2023-03-12T09:24:18.886073 #1] INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2023-03-12T09:24:25.268640 #1] INFO -- : 
I, [2023-03-12T09:24:25.269346 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --production --frozen-lockfile && yarn cache clean'
warning " > babel-plugin-debug-macros@0.4.0-pre1" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-01152f14-74be-449e-ad8b-601884c2eeb3 > discourse > @uppy/xhr-upload@3.1.0" has incorrect peer dependency "@uppy/core@^3.0.6".
I, [2023-03-12T09:25:26.309678 #1] INFO -- : yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
$ yarn --cwd app/assets/javascripts/discourse $(node -e 'if(JSON.parse(process.env.npm_config_argv).original.includes(`--frozen-lockfile`)){console.log(`--frozen-lockfile`)}')
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 53.89s.
Done in 54.70s.
yarn cache v1.22.19
success Cleared cache.
Done in 5.73s.

我的更新过程中出现了一个错误

```ruby
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })

````

请帮我修复它。.  
3: puma (6.1.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/puma-6.1.1.gemspec  
使用 redis-namespace 1.10.0  
3: redis-namespace (1.10.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/redis-namespace-1.10.0.gemspec  
使用 i18n 1.12.0  
3: i18n (1.12.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/i18n-1.12.0.gemspec  
使用 tzinfo 2.0.6  
3: tzinfo (2.0.6) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/tzinfo-2.0.6.gemspec  
使用来自 [GitHub - rails/sprockets: Rack-based asset packaging system · GitHub](https://github.com/rails/sprockets) (at 3.x@f4d3dae) 的 sprockets 3.7.2  
3: sprockets (3.7.2) from /var/www/discourse/vendor/bundle/ruby/3.2.0/bundler/gems/sprockets-f4d3dae71ef2/sprockets.gemspec  
使用 sass-embedded 1.58.3 (x86\_64-linux-gnu)  
3: sass-embedded (1.58.3) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/sass-embedded-1.58.3-x86\_64-linux-gnu.gemspec  
使用 rss 0.2.9  
3: rss (0.2.9) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rss-0.2.9.gemspec  
使用 rqrcode 2.1.2  
3: rqrcode (2.1.2) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rqrcode-2.1.2.gemspec  
使用 unf 0.1.4  
3: unf (0.1.4) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/unf-0.1.4.gemspec  
使用 loofah 2.19.1  
3: loofah (2.19.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/loofah-2.19.1.gemspec  
使用 ruby-readability 0.7.0  
3: ruby-readability (0.7.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/ruby-readability-0.7.0.gemspec  
使用 sanitize 6.0.1  
3: sanitize (6.0.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/sanitize-6.0.1.gemspec  
使用 net-imap 0.3.4  
3: net-imap (0.3.4) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/net-imap-0.3.4.gemspec  
使用 net-pop 0.1.2  
3: net-pop (0.1.2) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/net-pop-0.1.2.gemspec  
使用 net-smtp 0.3.3  
3: net-smtp (0.3.3) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/net-smtp-0.3.3.gemspec  
使用 aws-sdk-core 3.130.2  
3: aws-sdk-core (3.130.2) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/aws-sdk-core-3.130.2.gemspec  
使用 css\_parser 1.14.0  
3: css\_parser (1.14.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/css\_parser-1.14.0.gemspec  
使用 cose 1.3.0  
3: cose (1.3.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/cose-1.3.0.gemspec  
使用 pry-byebug 3.10.1  
3: pry-byebug (3.10.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/pry-byebug-3.10.1.gemspec  
使用 pry-rails 0.3.9  
3: pry-rails (0.3.9) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/pry-rails-0.3.9.gemspec  
使用 json\_schemer 0.2.23  
3: json\_schemer (0.2.23) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/json\_schemer-0.2.23.gemspec  
获取 faraday-retry 2.1.0  
安装 faraday-retry 2.1.0  
3: faraday-retry (2.1.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/faraday-retry-2.1.0.gemspec  
使用 oauth2 1.4.11  
3: oauth2 (1.4.11) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/oauth2-1.4.11.gemspec  
使用 rtlcss 0.2.0  
3: rtlcss (0.2.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rtlcss-0.2.0.gemspec  
使用 mini\_scheduler 0.15.0  
3: mini\_scheduler (0.15.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/mini\_scheduler-0.15.0.gemspec  
使用 oauth 1.1.0  
3: oauth (1.1.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/oauth-1.1.0.gemspec  
使用 activesupport 7.0.4.1  
3: activesupport (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/activesupport-7.0.4.1.gemspec  
使用 tzinfo-data 1.2022.7  
3: tzinfo-data (1.2022.7) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/tzinfo-data-1.2022.7.gemspec  
使用 rails-html-sanitizer 1.5.0  
3: rails-html-sanitizer (1.5.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rails-html-sanitizer-1.5.0.gemspec  
使用 dartsass-ruby 3.0.1  
3: dartsass-ruby (3.0.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/dartsass-ruby-3.0.1.gemspec  
使用 aws-sdk-kms 1.56.0  
3: aws-sdk-kms (1.56.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/aws-sdk-kms-1.56.0.gemspec  
使用 aws-sdk-sns 1.53.0  
3: aws-sdk-sns (1.53.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/aws-sdk-sns-1.53.0.gemspec  
使用 omniauth-oauth2 1.7.3  
3: omniauth-oauth2 (1.7.3) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/omniauth-oauth2-1.7.3.gemspec  
使用 rails-dom-testing 2.0.3  
3: rails-dom-testing (2.0.3) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rails-dom-testing-2.0.3.gemspec  
使用 globalid 1.1.0  
3: globalid (1.1.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/globalid-1.1.0.gemspec  
使用 activemodel 7.0.4.1  
3: activemodel (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/activemodel-7.0.4.1.gemspec  
使用 omniauth-oauth 1.2.0  
3: omniauth-oauth (1.2.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/omniauth-oauth-1.2.0.gemspec  
使用 actionview 7.0.4.1  
3: actionview (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/actionview-7.0.4.1.gemspec  
使用 activejob 7.0.4.1  
3: activejob (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/activejob-7.0.4.1.gemspec  
使用 active\_model\_serializers 0.8.4  
3: active\_model\_serializers (0.8.4) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/active\_model\_serializers-0.8.4.gemspec  
使用 activerecord 7.0.4.1  
3: activerecord (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/activerecord-7.0.4.1.gemspec  
使用 aws-sdk-s3 1.114.0  
3: aws-sdk-s3 (1.114.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/aws-sdk-s3-1.114.0.gemspec  
使用 omniauth-facebook 9.0.0  
3: omniauth-facebook (9.0.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/omniauth-facebook-9.0.0.gemspec  
使用 omniauth-github 1.4.0  
3: omniauth-github (1.4.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/omniauth-github-1.4.0.gemspec  
使用 omniauth-google-oauth2 0.8.2  
3: omniauth-google-oauth2 (0.8.2) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/omniauth-google-oauth2-0.8.2.gemspec  
使用 omniauth-twitter 1.4.0  
3: omniauth-twitter (1.4.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/omniauth-twitter-1.4.0.gemspec  
使用 actionpack 7.0.4.1  
3: actionpack (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/actionpack-7.0.4.1.gemspec  
使用 actionview\_precompiler 0.2.3  
3: actionview\_precompiler (0.2.3) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/actionview\_precompiler-0.2.3.gemspec  
使用 discourse-seed-fu 2.3.12  
3: discourse-seed-fu (2.3.12) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/discourse-seed-fu-2.3.12.gemspec  
使用 actionmailer 7.0.4.1  
3: actionmailer (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/actionmailer-7.0.4.1.gemspec  
使用 railties 7.0.4.1  
3: railties (7.0.4.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/railties-7.0.4.1.gemspec  
使用 sprockets-rails 3.4.2  
3: sprockets-rails (3.4.2) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/sprockets-rails-3.4.2.gemspec  
使用 lograge 0.12.0  
3: lograge (0.12.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/lograge-0.12.0.gemspec  
使用 rails\_failover 0.8.1  
3: rails\_failover (0.8.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rails\_failover-0.8.1.gemspec  
使用 rails\_multisite 4.0.1  
3: rails\_multisite (4.0.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rails\_multisite-4.0.1.gemspec  
使用 dartsass-sprockets 3.0.0  
3: dartsass-sprockets (3.0.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/dartsass-sprockets-3.0.0.gemspec  
1: msgpack (1.6.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/msgpack-1.6.1.gemspec  
使用 bootsnap 1.16.0  
3: bootsnap (1.16.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/bootsnap-1.16.0.gemspec  
使用 rbtrace 0.4.14  
1: rbtrace (0.4.14) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/rbtrace-0.4.14.gemspec  
0: raindrops (0.20.1) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/raindrops-0.20.1.gemspec  
使用 unicorn 6.1.0  
3: unicorn (6.1.0) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/unicorn-6.1.0.gemspec  
2: pg (1.4.6) from /var/www/discourse/vendor/bundle/ruby/3.2.0/specifications/pg-1.4.6.gemspec  
捆绑完成！137 个 Gemfile 依赖项，175 个 gem 现已安装。  
未安装 ‘test’ 和 ‘development’ 组中的 gem。  
捆绑的 gem 已安装到 `./vendor/bundle`

I, [2023-03-12T09:26:05.015572 #1] INFO – : \> cd /var/www/discourse && su discourse -c ‘LOAD\_PLUGINS=0 bundle exec rake plugin:pull\_compatible\_all’  
I, [2023-03-12T09:26:09.046716 #1] INFO – : discourse-adplugin 已是最新兼容版本  
discourse-sitemap 已是最新兼容版本  
docker\_manager 已是最新兼容版本

I, [2023-03-12T09:26:09.047362 #1] INFO – : \> cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’  
2023-03-12 09:26:14.215 UTC [1014] discourse@discourse ERROR: 重复的键值违反唯一约束 “index\_tags\_on\_name”  
2023-03-12 09:26:14.215 UTC [1014] discourse@discourse DETAIL: 键 (name)=(カタカナ) 已存在。  
2023-03-12 09:26:14.215 UTC [1014] discourse@discourse STATEMENT: UPDATE tags t  
SET public\_topic\_count = x.topic\_count  
FROM (  
SELECT  
COUNT(topics.id) AS topic\_count,  
tags.id AS tag\_id  
FROM tags  
INNER JOIN topic\_tags ON tags.id = topic\_tags.tag\_id  
INNER JOIN topics ON topics.id = topic\_tags.topic\_id AND topics.deleted\_at IS NULL AND topics.archetype != ‘private\_message’  
INNER JOIN categories ON categories.id = topics.category\_id AND NOT categories.read\_restricted  
GROUP BY tags.id  
) x  
WHERE x.tag\_id = t.id  
AND x.topic\_count \<\> t.public\_topic\_count;

rake 中止！  
StandardError: 发生错误，此迁移及之后的所有迁移已取消：

PG::UniqueViolation: ERROR: 重复的键值违反唯一约束 “index\_tags\_on\_name”  
DETAIL: 键 (name)=(カタカナ) 已存在。  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async\_exec’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/postgresql/database\_statements.rb:48:in `block (2 levels) in execute' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/share_lock.rb:187:in `yield\_shares’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/dependencies/interlock.rb:41:in `permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block in execute’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:25:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:21:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract\_adapter.rb:765:in `block in log' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract\_adapter.rb:756:in `log' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `execute’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:932:in `block in method_missing' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:900:in `block in say\_with\_time’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:900:in `say_with_time' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:921:in `method\_missing’  
/var/www/discourse/db/migrate/20230118020114\_add\_public\_topic\_count\_to\_tags.rb:7:in `up' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:873:in `public\_send’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:873:in `exec_migration' /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec\_migration’  
/var/www/discourse/lib/freedom\_patches/schema\_migration\_details.rb:8:in `exec_migration' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:854:in `block (2 levels) in migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:853:in `block in migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with\_connection’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:852:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1046:in `migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1360:in `block in execute_migration_in_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within\_new\_transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:25:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:21:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract/transaction.rb:317:in `within_new_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/transactions.rb:209:in `transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1411:in `ddl\_transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1359:in `execute_migration_in_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1333:in `each’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1333:in `migrate_without_lock' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1282:in `block in migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1432:in `block in with_advisory_lock' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with\_connection’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1447:in `with_advisory_lock_connection' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1428:in `with\_advisory\_lock’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1282:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1117:in `up’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1092:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/tasks/database_tasks.rb:262:in `migrate’  
/var/www/discourse/lib/tasks/db.rake:246:in `block (2 levels) in <main>' /var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize’  
/var/www/discourse/lib/distributed\_mutex.rb:49:in `synchronize' /var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize’  
/var/www/discourse/lib/distributed\_mutex.rb:34:in `synchronize' /var/www/discourse/lib/tasks/db.rake:221:in `block in ’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>' /usr/local/bin/bundle:25:in `load’  
/usr/local/bin/bundle:25:in `’

Caused by:  
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint “index\_tags\_on\_name”  
DETAIL: Key (name)=(カタカナ) already exists.  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async\_exec’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/postgresql/database\_statements.rb:48:in `block (2 levels) in execute' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/share_lock.rb:187:in `yield\_shares’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/dependencies/interlock.rb:41:in `permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block in execute’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:25:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:21:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract\_adapter.rb:765:in `block in log' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract\_adapter.rb:756:in `log' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `execute’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:932:in `block in method_missing' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:900:in `block in say\_with\_time’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:900:in `say_with_time' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:921:in `method\_missing’  
/var/www/discourse/db/migrate/20230118020114\_add\_public\_topic\_count\_to\_tags.rb:7:in `up' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:873:in `public\_send’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:873:in `exec_migration' /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec\_migration’  
/var/www/discourse/lib/freedom\_patches/schema\_migration\_details.rb:8:in `exec_migration' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:854:in `block (2 levels) in migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:853:in `block in migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with\_connection’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:852:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1046:in `migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1360:in `block in execute_migration_in_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within\_new\_transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:25:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:21:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract/transaction.rb:317:in `within_new_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/transactions.rb:209:in `transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1411:in `ddl\_transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1359:in `execute_migration_in_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1333:in `each’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1333:in `migrate_without_lock' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1282:in `block in migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1432:in `block in with_advisory_lock' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with\_connection’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1447:in `with_advisory_lock_connection' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1428:in `with\_advisory\_lock’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1282:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1117:in `up’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1092:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/tasks/database_tasks.rb:262:in `migrate’  
/var/www/discourse/lib/tasks/db.rake:246:in `block (2 levels) in <main>' /var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize’  
/var/www/discourse/lib/distributed\_mutex.rb:49:in `synchronize' /var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize’  
/var/www/discourse/lib/distributed\_mutex.rb:34:in `synchronize' /var/www/discourse/lib/tasks/db.rake:221:in `block in ’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>' /usr/local/bin/bundle:25:in `load’  
/usr/local/bin/bundle:25:in `’

Caused by:  
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint “index\_tags\_on\_name”  
DETAIL: Key (name)=(カタカナ) already exists.  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async\_exec’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/postgresql/database\_statements.rb:48:in `block (2 levels) in execute' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/share_lock.rb:187:in `yield\_shares’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/dependencies/interlock.rb:41:in `permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block in execute’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:25:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:21:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract\_adapter.rb:765:in `block in log' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract\_adapter.rb:756:in `log' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `execute’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:932:in `block in method_missing' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:900:in `block in say\_with\_time’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:900:in `say_with_time' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:921:in `method\_missing’  
/var/www/discourse/db/migrate/20230118020114\_add\_public\_topic\_count\_to\_tags.rb:7:in `up' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:873:in `public\_send’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:873:in `exec_migration' /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec\_migration’  
/var/www/discourse/lib/freedom\_patches/schema\_migration\_details.rb:8:in `exec_migration' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:854:in `block (2 levels) in migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:853:in `block in migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with\_connection’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:852:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1046:in `migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1360:in `block in execute_migration_in_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within\_new\_transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:25:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active\_support/concurrency/load\_interlock\_aware\_monitor.rb:21:in `handle_interrupt' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/connection\_adapters/abstract/transaction.rb:317:in `within_new_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/transactions.rb:209:in `transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1411:in `ddl\_transaction’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1359:in `execute_migration_in_transaction' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1333:in `each’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1333:in `migrate_without_lock' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1282:in `block in migrate’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1432:in `block in with_advisory_lock' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with\_connection’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1447:in `with_advisory_lock_connection' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1428:in `with\_advisory\_lock’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1282:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/migration.rb:1117:in `up’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active\_record/migration.rb:1092:in `migrate' /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.1/lib/active_record/tasks/database_tasks.rb:262:in `migrate’  
/var/www/discourse/lib/tasks/db.rake:246:in `block (2 levels) in <main>' /var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize’  
/var/www/discourse/lib/distributed\_mutex.rb:49:in `synchronize' /var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize’  
/var/www/discourse/lib/distributed\_mutex.rb:34:in `synchronize' /var/www/discourse/lib/tasks/db.rake:221:in `block in ’  
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>' /usr/local/bin/bundle:25:in `load’  
/usr/local/bin/bundle:25:in `’  
Tasks: TOP =\> db:migrate  
(See full trace by running task with --trace)  
I, [2023-03-12T09:26:14.250008 #1] INFO – : == 20230118020114 AddPublicTopicCountToTags: migrating ========================  
– add\_column(:tags, :public\_topic\_count, :integer, {:default=\>0, :null=\>false})  
 → 0.0225s  
– execute(“UPDATE tags t\nSET public\_topic\_count = x.topic\_count\nFROM (\n SELECT\n COUNT(topics.id) AS topic\_count,\n tags.id AS tag\_id\n FROM tags\n INNER JOIN topic\_tags ON tags.id = topic\_tags.tag\_id\n INNER JOIN topics ON topics.id = topic\_tags.topic\_id AND topics.deleted\_at IS NULL AND topics.archetype != ‘private\_message’\n INNER JOIN categories ON categories.id = topics.category\_id AND NOT categories.read\_restricted\n GROUP BY tags.id\n) x\nWHERE x.tag\_id = t.id\nAND x.topic\_count \<\> t.public\_topic\_count;\n”)

I, [2023-03-12T09:26:14.250781 #1] INFO – : 正在终止异步进程  
I, [2023-03-12T09:26:14.251035 #1] INFO – : 向 HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41 发送 INT  
I, [2023-03-12T09:26:14.251281 #1] INFO – : 向 exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102 发送 TERM  
2023-03-12 09:26:14.251 UTC [41] LOG: received fast shutdown request  
102:signal-handler (1678613174) Received SIGTERM scheduling shutdown…  
2023-03-12 09:26:14.261 UTC [41] LOG: aborting any active transactions  
2023-03-12 09:26:14.265 UTC [41] LOG: background worker “logical replication launcher” (PID 50) exited with exit code 1  
2023-03-12 09:26:14.266 UTC [45] LOG: shutting down  
2023-03-12 09:26:14.298 UTC [41] LOG: database system is shut down  
102:M 12 Mar 2023 09:26:14.344 # User requested shutdown…  
102:M 12 Mar 2023 09:26:14.344 \* Saving the final RDB snapshot before exiting.  
102:M 12 Mar 2023 09:26:14.431 \* DB saved on disk  
102:M 12 Mar 2023 09:26:14.431 # Redis is now ready to exit, bye bye…

## FAILED

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’ failed with return #\<Process::Status: pid 1001 exit 1\>  
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec\_command.rb:117:in `spawn’  
exec failed with the params {“cd”=\>“$home”, “hook”=\>“db\_migrate”, “cmd”=\>[“su discourse -c ‘bundle exec rake db:migrate’”]}  
bootstrap failed with exit code 1  
\*\* 引导失败 \*\* 请向上滚动并查看之前的错误消息，可能不止一个。  
./discourse-doctor 可能有助于诊断问题。  
21badb2e6d5735194b60728c0a2a53ff53b055e3929e3777a946f1bf3f10235e

====

```plaintext

如果能尽早得到帮助将不胜感激

提前致谢

Ash
```

---

<div class="post-metadata">

### Author: ![Steven](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/steven/32/187890_2.png) [@Steven](https://meta.discourse.org/u/Steven)
#### Post date: [2023年三月12日 09:56 UTC](https://meta.discourse.org/t/failing-rebuild/257842/2 "2023-03-12T09:56:26Z")

</div>

如果可以的话，请运行

`./launcher restart app`

如果您的论坛已恢复联机，请删除标签 `カタカナ`  
然后重新构建

此标签似乎在您的数据库中重复，最简单的方法是删除此标签，重新构建然后重新创建它。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2023年三月12日 17:21 UTC](https://meta.discourse.org/t/failing-rebuild/257842/3 "2023-03-12T17:21:37Z")

</div>

在过去的几周里，我的另一个网站出现了一些重复的标签。我反复重建索引，直到我重命名了所有重复的标签，索引重建才完成。

我想知道 discourse 或 postgres 是否有另一个错误允许这种情况发生。

---

<div class="post-metadata">

### Author: ![Ashwani\_K\_Goel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ashwani_k_goel/32/129382_2.png) [@Ashwani\_K\_Goel](https://meta.discourse.org/u/Ashwani_K_Goel)
#### Post date: [2023年三月12日 17:42 UTC](https://meta.discourse.org/t/failing-rebuild/257842/4 "2023-03-12T17:42:51Z")

</div>

谢谢 Steven

不过我没那么幸运

我再也无法启动或重启应用程序了 ☹

./launcher restart app

检测到 x86\_64 架构。

- /usr/bin/docker stop -t 30 app

app

正在启动现有容器

- /usr/bin/docker start app

来自守护进程的错误响应：驱动程序无法在端点 app (686beeee0906be83d16d18d5da088174e4c0c9e5c36d5251accfcd8f049cc761) 上编程外部连接：启动用户区代理时出错：监听 tcp 0.0.0.0:5432：bind：地址已在使用中

错误：无法启动容器：app

有没有其他方法可以在数据库中删除该标签？我有 pgadmin，但不确定当应用程序未运行时是否可以将其连接到 discourse 数据库

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2023年三月12日 18:21 UTC](https://meta.discourse.org/t/failing-rebuild/257842/6 "2023-03-12T18:21:03Z")

</div>

> [@Ashwani\_K\_Goel](#):
>
> userland proxy: listen tcp 0.0.0.0:5432: bind: address already in use

看起来你还有另一个 PostgreSQL 在运行？

但通常你不会让 PostgreSQL 开放端口，也许你是为了能够使用 pgadmin 才这么做的？

---

<div class="post-metadata">

### Author: ![Ashwani\_K\_Goel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ashwani_k_goel/32/129382_2.png) [@Ashwani\_K\_Goel](https://meta.discourse.org/u/Ashwani_K_Goel)
#### Post date: [2023年三月13日 02:44 UTC](https://meta.discourse.org/t/failing-rebuild/257842/7 "2023-03-13T02:44:43Z")

</div>

嗨 Jay

这有帮助。我找到了正在运行的 Postgres PID 并将其终止了。

然后我能够正常启动应用程序。

在此之后，我进入了 Postgres 控制台并修复了重复的标签名称。有两个。

重新构建了应用程序，一切都很顺利。我的 discourse 实例现在已启动并运行，并具有最新的 Discourse 版本。

非常感谢 Jay 和 Steven。你们两位就像救世主一样出现 🙂

祝好！

Ash
