# 重建失败，正在运行 2.8.9

**URL:** <https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837>\
**Category:** Self-hosting\
**Created:** [2022年十二月5日 15:18 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837 "2022-12-05T15:18:09Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![user5222](https://avatars.discourse-cdn.com/v4/letter/u/8491ac/32.png) [@user5222](https://meta.discourse.org/u/user5222)\
**Post date:** [2022年十二月5日 15:18 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/1 "2022-12-05T15:18:09Z")

</div>

您好，

一段时间以来，我们的实例无法升级，重建失败。正在Docker中运行Discourse 2.8.9。已尝试升级到2.8.10和2.8.13。

```plaintext
./launcher rebuild app
...
I, [2022-12-01T12:10:27.197669 #1] INFO -- : cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake plugin:pull_compatible_all'
bundler: failed to load command: rake (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake)
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:308:in `check_for_activated_spec!': You have already activated uri 0.10.0, but your Gemfile requires uri 0.11.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:25:in `block in setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `map'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler.rb:162:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `block in &lt;top (required)&gt;'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:136:in `with_level'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:88:in `silence'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `&lt;top (required)&gt;'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `require_relative'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `kernel_load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:23:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:486:in `exec'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:31:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:25:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:48:in `block in &lt;top (required)&gt;'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:36:in `&lt;top (required)&gt;'
	from /usr/local/bin/bundle:23:in `load'
	from /usr/local/bin/bundle:23:in `&lt;main&gt;'
I, [2022-12-01T12:10:27.537797 #1] INFO -- : 
I, [2022-12-01T12:10:27.538882 #1] INFO -- : cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate'
bundler: failed to load command: rake (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake)
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:308:in `check_for_activated_spec!': You have already activated uri 0.10.0, but your Gemfile requires uri 0.11.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:25:in `block in setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `map'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler.rb:162:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `block in &lt;top (required)&gt;'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:136:in `with_level'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:88:in `silence'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `&lt;top (required)&gt;'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `require_relative'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `kernel_load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:23:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:486:in `exec'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:31:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:25:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:48:in `block in &lt;top (required)&gt;'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:36:in `&lt;top (required)&gt;'
	from /usr/local/bin/bundle:23:in `load'
	from /usr/local/bin/bundle:23:in `&lt;main&gt;'
I, [2022-12-01T12:10:27.859901 #1] INFO -- : 
I, [2022-12-01T12:10:27.861085 #1] INFO -- : Terminating async processes
I, [2022-12-01T12:10:27.861874 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 31
31:signal-handler (1669896627) Received SIGTERM scheduling shutdown...
31:M 01 Dec 2022 12:10:27.961 # User requested shutdown...
31:M 01 Dec 2022 12:10:27.963 * Saving the final RDB snapshot before exiting.
31:M 01 Dec 2022 12:10:28.025 * DB saved on disk
31:M 01 Dec 2022 12:10:28.027 # Redis is now ready to exit, bye bye...

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #&lt;Process::Status: pid 4804 exit 1&gt;
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
fde0a026f0cd2470f6fa579009db125a783db4115eab6d151389446042e22119
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.

```

2.8.10之前的升级都没有问题。一些进一步的信息：

系统：  
Debian 11 Bullseye  
8GB 内存  
充足的可用磁盘空间  
Postgres 通过 PGDG 仓库安装，不在容器中运行。  
插件：仅预装的 docker\_manager, styleguide  
组件：Custom Header Links

app.yml

```yaml

templates:
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"

version: stable

```

app.yml 使用了 standalone.yml 模板

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [2022年十二月5日 15:46 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/2 "2022-12-05T15:46:36Z")

</div>

> [@user5222](#):
>
> 您已经激活了 uri 0.10.0，但您的 Gemfile 要求 uri 0.11.0。由于 uri 是一个默认 gem，您可以删除对它的依赖，或者尝试更新到支持 uri 作为默认 gem 的新版本 bundler。

这意味着您有一个不兼容的插件。可以分享您的插件列表吗？

---

<div class="post-metadata">

**Author:** ![user5222](https://avatars.discourse-cdn.com/v4/letter/u/8491ac/32.png) [@user5222](https://meta.discourse.org/u/user5222)\
**Post date:** [2022年十二月5日 16:05 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/3 "2022-12-05T16:05:32Z")

</div>

from app.yml

```plaintext
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

```

那么我可以直接删除这一行然后重试吗？

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [2022年十二月5日 16:12 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/4 "2022-12-05T16:12:49Z")

</div>

从未见过此错误，也没有任何非捆绑插件，这很奇怪。可以分享一下重建的完整日志吗？

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)\
**Post date:** [2022年十二月5日 16:39 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/5 "2022-12-05T16:39:55Z")

</div>

> [@user5222](#):
>
> `Gemfile 要求 uri 0.11.0`

您是否运行的是独立的 Web 和数据容器？

今年早些时候，我曾遇到过一个类似的错误，当时数据容器已过时，Redis 需要升级。

> [@user5222](#):
>
> Postgres 是通过 PGDG 存储库安装的，不在容器中运行。

哪个版本？我们绝对需要有关您安装的更多信息。

---

<div class="post-metadata">

**Author:** ![user5222](https://avatars.discourse-cdn.com/v4/letter/u/8491ac/32.png) [@user5222](https://meta.discourse.org/u/user5222)\
**Post date:** [2022年十二月5日 17:00 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/6 "2022-12-05T17:00:28Z")

</div>

作为新用户，我无法上传附件，并且日志比允许的帖子长度长。你能给我上传附件的权限吗？

> 你是否运行独立的 Web 和数据容器？

不，只有一个应用程序容器。

> 哪个版本？我们绝对需要更多关于你的安装信息。

当然。我们使用 PostgreSQL 13。

感谢快速回复。

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2022年十二月5日 17:03 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/7 "2022-12-05T17:03:21Z")

</div>

当 bundler 或 rubygems 的版本过旧时，就会发生此错误。

这是标准安装吗？  
您是否执行了命令行重建？  
`git` 是否拉取了新版本？  
git 拉取的是 `main` 而不是 `master` 吗？

---

<div class="post-metadata">

**Author:** ![user5222](https://avatars.discourse-cdn.com/v4/letter/u/8491ac/32.png) [@user5222](https://meta.discourse.org/u/user5222)\
**Post date:** [2022年十二月5日 17:21 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/8 "2022-12-05T17:21:42Z")

</div>

> 这是 [标准安装](https://meta.discourse.org/t/142537) 吗？

大部分是。我们使用 Nginx 作为反向代理。

> 您是否执行了命令行重建？

是的

> `git` 是否拉取了新版本？

是的

> git 是否拉取的是 `main` 而不是 `master`？

它从 master 拉取的。我已将其更改为 main，但构建错误相同。

更新：我犯了一个错误。更改远程分支解决了问题。非常感谢！

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2023年一月4日 17:21 UTC](https://meta.discourse.org/t/rebuild-fails-running-2-8-9/247837/9 "2023-01-04T17:21:49Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
