# Discourseの開発の理解に関する問題

**URL:** <https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966>\
**Category:** Development\
**Created:** [2021 年 7 月 13 日午前 9:22 UTC](https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966 "2021-07-13T09:22:34Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2021 年 7 月 14 日午前 9:07 UTC](https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966/3 "2021-07-14T09:07:33Z")

</div>

Docker の有無は、プラグインやテーマコンポーネントの開発のほとんどにおいて、ほぼ無関係です。これは別の問題です。私は開発環境で Docker インスタンスを実行していません。

Discourse 用のアドオンを開発する際、開発環境と本番環境の正確なバージョンや設定に固執する必要はありません。オープンソースの場合、プラグインが最終的にデプロイされるインスタンスのほとんどをあなたが制御できないことが通常だからです。最も重要なのは、Discourse コアの変更に対してアドオンをより堅牢にするためのベストプラクティスに従うことです。たとえ自分自身の Discourse インスタンスのみを対象に開発している場合でも、Discourse コアの変更を制御できないため、同じアプローチが適用されます。

わずかなバージョンの違いが、通常、プラグインやテーマコンポーネントの失敗を引き起こすべきではありません。起こり得ることはありますが、一貫性はありません。私のプラグインやテーマコンポーネントは、数ヶ月にわたって変更を必要とせず、コアのコミットが数ヶ月離れていても動作します。

私は通常、プラグインの変更（修正や機能強化）に取り組む際、開発環境を最新の master ブランチに更新します。これにより、破壊的変更をすべて拾うことができます。これは、git pull、bundle install、db:migrate を実行するだけで簡単に実現できます。

本番環境のインスタンスは、フロントエンドから、またはコマンドラインでのリビルドを通じて更新するだけです。

私のアドバイスとしては、プラグインを公開してユーザーを集め、経験を通じて道中の課題を学んでください。先送りにしすぎず、実際に行動しましょう。また、間違いを恐れないでください。それらは学びの助けになります。

---

_[View the full topic](https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966)._
