# hiredis로 인한 재빌드 오류

**URL:** https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387
**Category:** Support
**Created:** [7월 23, 2025, 7:52오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387 "2025-07-23T07:52:17Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![truman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/truman/32/491648_2.png) [@truman](https://meta.discourse.org/u/truman)
#### Post date: [7월 23, 2025, 7:52오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/1 "2025-07-23T07:52:17Z")

</div>

```plaintext
I, [2025-07-23T07:29:09.853446 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
TypeError: wrong argument type Integer (expected String) (TypeError)

        _write(command)
               ^^^^^^^
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/hiredis-client-0.25.1/lib/redis_client/hiredis_connection.rb:121:in `_write'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/hiredis-client-0.25.1/lib/redis_client/hiredis_connection.rb:121:in `block in write_multi'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/hiredis-client-0.25.1/lib/redis_client/hiredis_connection.rb:120:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/hiredis-client-0.25.1/lib/redis_client/hiredis_connection.rb:120:in `write_multi'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client/connection_mixin.rb:48:in `call_pipelined'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client.rb:798:in `block in connect'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client/middlewares.rb:16:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client.rb:797:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client.rb:759:in `raw_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client.rb:719:in `ensure_connected'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.1/lib/redis_client.rb:314:in `call_v'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/client.rb:90:in `call_v'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:152:in `block in send_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:151:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:151:in `send_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/commands/server.rb:90:in `info'
/var/www/discourse/lib/discourse_redis.rb:38:in `public_send'
/var/www/discourse/lib/discourse_redis.rb:38:in `block in method_missing'
/var/www/discourse/lib/discourse_redis.rb:29:in `ignore_readonly'
/var/www/discourse/lib/discourse_redis.rb:38:in `method_missing'
/var/www/discourse/config/initializers/001-redis.rb:9:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/engine.rb:693:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/engine.rb:693:in `block in load_config_initializer'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2/lib/active_support/notifications.rb:212:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/engine.rb:692:in `load_config_initializer'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/engine.rb:646:in `block (2 levels) in <class:Engine>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/engine.rb:645:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/engine.rb:645:in `block in <class:Engine>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/initializable.rb:50:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/initializable.rb:50:in `tsort_each_child'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/application.rb:440:in `initialize!'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.7.3/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/application.rb:416:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/application.rb:567:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)
I, [2025-07-23T07:29:12.543604 #1] INFO -- : gem install aws-sdk-translate -v 1.35.0 -i /var/www/discourse/plugins/discourse-translator/gems/3.3.8 --no-document --ignore-dependencies --no-user-install
Successfully installed aws-sdk-translate-1.35.0
1 gem installed

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 883 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1

```

가능한 원인: [PERF: switch redis driver to hiredis - Pull Request #33773 - discourse/discourse - GitHub](https://github.com/discourse/discourse/pull/33773)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [7월 23, 2025, 8:11오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/2 "2025-07-23T08:11:04Z")

</div>

리포트를 올려주셔서 감사합니다. 일단 롤백하겠습니다. 환경에서 Redis가 어떻게 구성되어 있는지 조금 더 알려 주실 수 있을까요? 멀티 컨테이너 구성인가요?

---

<div class="post-metadata">

### Author: ![truman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/truman/32/491648_2.png) [@truman](https://meta.discourse.org/u/truman)
#### Post date: [7월 23, 2025, 8:12오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/3 "2025-07-23T08:12:25Z")

</div>

네, 멀티 컨테이너 구성입니다. redis는 단독 컨테이너로 실행됩니다.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [7월 23, 2025, 8:13오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/4 "2025-07-23T08:13:02Z")

</div>

어떤 버전인가요? hiredis를 지원하지 않는 오래된 Redis 버전인 것 같습니다.

---

<div class="post-metadata">

### Author: ![truman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/truman/32/491648_2.png) [@truman](https://meta.discourse.org/u/truman)
#### Post date: [7월 23, 2025, 8:15오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/5 "2025-07-23T08:15:18Z")

</div>

redis:7.4.3

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [7월 23, 2025, 8:24오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/6 "2025-07-23T08:24:29Z")

</div>

이 문제를 [Issues · redis-rb/redis-client · GitHub](https://github.com/redis-rb/redis-client/issues) 에 보고해 주실 수 있을까요?

가능하다면 재현 환경은 다음과 같은 구성이 이상적입니다:

1. 사용 중인 redis의 docker 컨테이너를 실행합니다. (byroot가 디버깅을 쉽게 할 수 있도록 공유해 주세요)
2. 사용 중인 설정에 대해 다음과 유사한 코드를 실행합니다:

```plaintext
require 'hiredis-client'
require 'redis-client'
require 'redis'
Redis.new(... <- IP 등 사용 중인 설정).info 

```

.info 메서드가 에러를 일으키는 것이 우리가 실행하던 내용입니다.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [7월 23, 2025, 9:26오전 UTC](https://meta.discourse.org/t/rebuild-error-due-to-hiredis/375387/9 "2025-07-23T09:26:59Z")

</div>

env를 추가하는 것은 권장하지 않습니다. 나중에 그 사실을 잊어버리게 될 수 있기 때문입니다.

대신 단순히 다시 빌드하세요. 현재는 해당 사항이 되돌려진 상태입니다.
