# 테마 컴포넌트 설치 시 'undefined method \`kilobytes' for "1024":String' 오류 발생

**URL:** https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426
**Category:** Support
**Tags:** disco-toc
**Created:** [12월 19, 2023, 11:12오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426 "2023-12-19T23:12:34Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![digitaldominica](https://avatars.discourse-cdn.com/v4/letter/d/97f17d/32.png) [@digitaldominica](https://meta.discourse.org/u/digitaldominica)
#### Post date: [12월 19, 2023, 11:12오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/1 "2023-12-19T23:12:34Z")

</div>

git에서 이 테마 컴포넌트를 설치하려고 하면 오류 500이 발생하고, zip 파일을 업로드하면

> SyntaxError: Unexpected token ‘\<’, "\<!DOCTYPE "… is not valid JSON

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [12월 19, 2023, 11:16오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/2 "2023-12-19T23:16:13Z")

</div>

이 URL `https://github.com/discourse/DiscoTOC`을 사용하여 [가이드](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966)에 따라 이렇게 설치하셨나요?

 ![image](https://global.discourse-cdn.com/meta/original/4X/3/5/2/3523c0e4fc3cf8ab348f12e5179b73de5081a3f6.png)

---

<div class="post-metadata">

### Author: ![digitaldominica](https://avatars.discourse-cdn.com/v4/letter/d/97f17d/32.png) [@digitaldominica](https://meta.discourse.org/u/digitaldominica)
#### Post date: [12월 20, 2023, 3:15오전 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/3 "2023-12-20T03:15:30Z")

</div>

말씀드린 대로 이렇게 해보았는데 500 오류가 발생합니다. 그 후 디바이스에서 zip으로만 시도해 봤더니 문법과 관련된 두 번째 오류가 발생했습니다. 해당 프로그램이 설치되어 있다면 제거했다가 다시 설치해 보시고, 문제를 직접 재현해 보실 수 있는지 확인해 주시겠어요?

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [12월 20, 2023, 3:25오전 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/4 "2023-12-20T03:25:08Z")

</div>

제 쪽에서는 문제가 보이지 않습니다.

다른 #customization:theme-component를 설치할 수 있나요, 아니면 이 컴포넌트에서만 문제가 발생하나요?

또한, `<your_forum_url>/logs`에서 관련 에러가 있는지 확인해 주실 수 있을까요?

---

<div class="post-metadata">

### Author: ![digitaldominica](https://avatars.discourse-cdn.com/v4/letter/d/97f17d/32.png) [@digitaldominica](https://meta.discourse.org/u/digitaldominica)
#### Post date: [12월 20, 2023, 12:55오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/5 "2023-12-20T12:55:29Z")

</div>

네, 가능하고 다른 컴포넌트도 설치되어 있습니다.  
에러 로그에 다음과 같이 표시됩니다.

> Failed to process hijacked response correctly : NoMethodError : undefined method `kilobytes’ for “1024”:String

```plaintext
/var/www/discourse/lib/validators/upload_validator.rb:152:in `maximum_file_size' 
/var/www/discourse/lib/validators/upload_validator.rb:61:in `maximum_image_file_size' 
/var/www/discourse/lib/validators/upload_validator.rb:34:in `validate' 
activesupport-7.0.7/lib/active_support/callbacks.rb:423:in `block in make_lambda' 
activesupport-7.0.7/lib/active_support/callbacks.rb:199:in `block (2 levels) in halting' 
activesupport-7.0.7/lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator' 
activesupport-7.0.7/lib/active_support/callbacks.rb:686:in `catch' 
activesupport-7.0.7/lib/active_support/callbacks.rb:686:in `block in default_terminator' 
activesupport-7.0.7/lib/active_support/callbacks.rb:200:in `block in halting' 
activesupport-7.0.7/lib/active_support/callbacks.rb:595:in `block in invoke_before' 
activesupport-7.0.7/lib/active_support/callbacks.rb:595:in `each' 
activesupport-7.0.7/lib/active_support/callbacks.rb:595:in `invoke_before' 
activesupport-7.0.7/lib/active_support/callbacks.rb:106:in `run_callbacks' 
activesupport-7.0.7/lib/active_support/callbacks.rb:929:in `_run_validate_callbacks' 
activemodel-7.0.7/lib/active_model/validations.rb:406:in `run_validations!' 
activemodel-7.0.7/lib/active_model/validations/callbacks.rb:115:in `block in run_validations!' 
activesupport-7.0.7/lib/active_support/callbacks.rb:107:in `run_callbacks' 
activesupport-7.0.7/lib/active_support/callbacks.rb:929:in `_run_validation_callbacks' 
activemodel-7.0.7/lib/active_model/validations/callbacks.rb:115:in `run_validations!' 
activemodel-7.0.7/lib/active_model/validations.rb:337:in `valid?' 
activerecord-7.0.7/lib/active_record/validations.rb:68:in `valid?' 
activerecord-7.0.7/lib/active_record/validations.rb:84:in `perform_validations' 
activerecord-7.0.7/lib/active_record/validations.rb:47:in `save' 
activerecord-7.0.7/lib/active_record/transactions.rb:298:in `block in save' 
activerecord-7.0.7/lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status' 
activerecord-7.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction' 
activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' 
activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' 
activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' 
activesupport-7.0.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' 
activerecord-7.0.7/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction' 
activerecord-7.0.7/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction' 
activerecord-7.0.7/lib/active_record/transactions.rb:350:in `with_transaction_returning_status' 
activerecord-7.0.7/lib/active_record/transactions.rb:298:in `save' 
activerecord-7.0.7/lib/active_record/suppressor.rb:50:in `save' 
/var/www/discourse/lib/upload_creator.rb:232:in `block in create_for' 
/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/upload_creator.rb:89:in `create_for' 
/var/www/discourse/app/models/remote_theme.rb:249:in `block in update_from_remote' 
/var/www/discourse/app/models/remote_theme.rb:240:in `each' 
/var/www/discourse/app/models/remote_theme.rb:240:in `update_from_remote' 
/var/www/discourse/app/models/remote_theme.rb:167:in `import_theme' 
/var/www/discourse/app/controllers/admin/themes_controller.rb:115:in `block in import' 
/var/www/discourse/lib/hijack.rb:63:in `instance_eval' 
/var/www/discourse/lib/hijack.rb:63:in `block in hijack' 
concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb:901:in `callback_on_resolution' 
concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb:787:in `call_callback' 
concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb:793:in `call_callbacks' 
concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb:691:in `resolve_with' 
concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/promises.rb:1315:in `resolve' 
/var/www/discourse/lib/scheduler/defer.rb:107:in `block in do_work' 
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:101:in `do_work' 
/var/www/discourse/lib/scheduler/defer.rb:89:in `block (2 levels) in start_thread' 

```

| hostname | xxxx |
| --- | --- |
| process\_id | 218 |
| application\_version | 63b217c2bc6caecc63bdc0a998b0a1ae7234f3d4 |
| HTTP\_HOST | xxxx |
| REQUEST\_URI | /admin/themes/import |
| REQUEST\_METHOD | POST |
| HTTP\_USER\_AGENT | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 |
| HTTP\_ACCEPT | _/_ |
| HTTP\_REFERER | [https://xxxx/admin/customize/themes](https://xxxx/admin/customize/themes) |
| HTTP\_X\_FORWARDED\_FOR | xxxx |
| HTTP\_X\_REAL\_IP | xxxx |
| username | xxxx |
| time | 8:50 am |
| params | |
| remote | [GitHub - discourse/DiscoTOC: A Discourse theme component that generates a table of contents for topics with one click · GitHub](https://github.com/discourse/DiscoTOC) |

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [12월 20, 2023, 1:04오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/6 "2023-12-20T13:04:13Z")

</div>

> [@digitaldominica](#):
>
> NoMethodError : undefined method `kilobytes’ for “1024”

문제를 확인했습니다! 🙂

사실 이 문제에 대한 최근 수정 사항이 있습니다:

> <https://github.com/discourse/discourse/pull/24947>
>
> Settings that are using the new \`file\_size\_restriction\` types like the
> \`max\_imag…e\_size\_kb\` setting need to have their values saved as integers.
> This was a recent regression in 00209f03e6bc55c6dd776dbe828b8bb53cd935f4
> that caused these values to be saved as strings.
> 
> This change also removes negatives from the validation regex because
> file sizes can't be negative anyways.
> 
> Bug report: https://meta.discourse.org/t/289037

Discourse를 업데이트하면 이 문제가 해결되어야 합니다.

---

<div class="post-metadata">

### Author: ![digitaldominica](https://avatars.discourse-cdn.com/v4/letter/d/97f17d/32.png) [@digitaldominica](https://meta.discourse.org/u/digitaldominica)
#### Post date: [12월 20, 2023, 10:59오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/7 "2023-12-20T22:59:05Z")

</div>

안녕하세요, 감사합니다. 방금 discourse를 업데이트했는데 문제가 해결되었습니다.

---

<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: [1월 19, 2024, 10:59오후 UTC](https://meta.discourse.org/t/getting-undefined-method-kilobytes-for-1024-string-when-installing-theme-component/289426/8 "2024-01-19T22:59:33Z")

</div>

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