# パッケージをパブリッシュする

### パッケージをパブリッシュする <a href="#publish-a-package" id="publish-a-package"></a>

パッケージは、Dynamo コミュニティでノードを保存し、共有できる便利な方法です。パッケージには、Dynamo ワークスペースで作成されたカスタム ノードから NodeModel 派生ノードまで、すべての情報を含めることができます。パッケージは、Package Manager を使用してパブリッシュおよびインストールします。ここで説明する内容に加えて、[Primer](https://primer2.dynamobim.org/v/ja/6_custom_nodes_and_packages/6-2_packages/1-introduction) のパッケージに関する一般的なガイドも参照してください。

#### Package Manager について <a href="#what-is-a-package-manager" id="what-is-a-package-manager"></a>

Dynamo Package Manager は、Dynamo または Web ブラウザからアクセスできるソフトウェア レジストリ(npm と同様)です。Package Manager には、パッケージのインストール、パブリッシュ、更新、および表示が含まれます。npm と同様に、パッケージの異なるバージョンが維持されます。プロジェクトの依存関係を管理する場合にも役立ちます。

ブラウザでパッケージを検索し、統計情報を表示します: [https://dynamopackages.com/](https://dynamopackages.com)

* Dynamo では、Package Manager にはパッケージのインストール、パブリッシュ、および更新が含まれます。

> 1. パッケージをオンラインで検索する: `Packages > Search for a Package...`
> 2. インストールされたパッケージを表示/編集する: `Packages > Manage Packages...`
> 3. 新しいパッケージをパブリッシュする: `Packages > Publish New Package...`

#### パッケージをパブリッシュする <a href="#publishing-a-package" id="publishing-a-package"></a>

パッケージは、Dynamo 内の Package Manager からパブリッシュします。プロセスとしては、まずローカルにパブリッシュし、パッケージをテストしてから、オンラインでパブリッシュしてコミュニティと共有することが推奨されます。ここでは NodeModel ケース スタディを使用して、RectangularGrid ノードをパッケージとしてローカルにパブリッシュし、オンラインでパブリッシュする際に必要となる手順を紹介します。

Dynamo を起動して、`Packages > Publish New Package...` を選択し、`Publish a Package` ウィンドウを開きます。

> 1. `Add file...` を選択して、パッケージに追加するファイルを参照します。
> 2. NodeModel ケース スタディから、2 つの `.dll` ファイルを選択します。
> 3. `Ok` を選択します。

パッケージの内容にファイルを追加したら、パッケージに名前を付け、説明とバージョンを記入します。Dynamo を使用してパッケージをパブリッシュすると、自動的に `pkg.json` ファイルが作成されます。

> パッケージをパブリッシュする準備が整いました。
>
> 1. 名前、説明、バージョンなど必要な情報を入力します。
> 2. \[ローカルにパブリッシュ]をクリックして Dynamo のパッケージ フォルダ: `AppData\Roaming\Dynamo\Dynamo Core\1.3\packages` を選択し、Core でノードを使用できるようにしてパブリッシュを実行します。パッケージが共有できる状態になるまでは、常にローカルにパブリッシュします。

パッケージをパブリッシュすると、ノードは Dynamo ライブラリのカテゴリ `CustomNodeModel` の下で使用できるようになります。

> 1. 先ほど Dynamo ライブラリで作成したパッケージ

パッケージをオンラインでパブリッシュする準備ができたら、Package Manager を開いて `Publish` を選択し、続いて `Publish Online` を選択します。

> 1. Dynamo がパッケージをどのようにフォーマットしたかを確認するには、「CustomNodeModel」の右側にある 3 つの垂直ドットをクリックし、\[ルート フォルダを表示]を選択します。
> 2. `Publish` を選択し、\[Dynamo パッケージをパブリッシュ]ウィンドウで `Publish Online` を選択します。
> 3. パッケージを削除するには、`Delete` を選択します。

#### パッケージを更新する方法について <a href="#how-do-i-update-a-package" id="how-do-i-update-a-package"></a>

パッケージの更新プロセスは、パブリッシュと同様です。Package Manager を開いて、更新する必要のあるパッケージの `Publish Version...` を選択し、上位バージョンを指定します。

> 1. `Publish Version` を選択し、新しいファイルを使用してルート フォルダ内の既存のパッケージを更新します。次に、ローカルにパブリッシュするか、オンラインでパブリッシュするかを選択します。

#### Package Manager Web クライアント <a href="#package-manager-web-client" id="package-manager-web-client"></a>

Package Manager Web クライアントを使用すると、バージョン管理、ダウンロード統計、その他の関連情報など、パッケージ データを検索および表示できます。さらに、パッケージ作成者は、Web クライアントから直接ログインして、互換性情報などのパッケージの詳細を更新できます。

これらの機能の詳細については、こちらのブログ記事 <https://dynamobim.org/discover-the-new-dynamo-package-management-experience/> を参照してください。

次のリンクから Package Manager Web クライアントにアクセスできます: [https://dynamopackages.com/](https://dynamopackages.com)

**パッケージの詳細を更新する**

作成者は、次の手順に従って、パッケージの説明、Web サイト リンク、およびリポジトリ リンクを編集できます。

> 1. \[**マイ パッケージ**]でパッケージを選択し、\[**パッケージ詳細を編集**]をクリックします。
> 2. それぞれのフィールドを使用して、\[**Web サイト**]および\[**リポジトリ**]のリンクを追加または変更します。
> 3. 必要に応じて、\[**パッケージの説明**]を更新します。
> 4. \[**変更を保存**]をクリックして更新を適用します。

**注**: サーバーの更新には時間がかかるため、Dynamo 内の Package Manager で更新が反映されるまでに最大 15 分かかる場合があります。この遅れを減らすための取り組みが進行中です。

**パブリッシュされたパッケージ バージョンの互換性情報を編集する**

互換性情報は、以前に公開されたパッケージ バージョンについて遡って更新できます。次の手順に従います。

**ステップ 1：**

1. 更新するパッケージ バージョンをクリックします。
2. \[**依存先**]のリストには、パッケージの依存先パッケージが自動的に入力されます。
3. \[**互換性**]の横にある鉛筆アイコンをクリックして、\[**互換性情報を編集**]ワークフローを開きます。

**ステップ 2：**

以下のフローチャートに従い、下の表を参照して、パッケージに最適なオプションの理解に役立ててください。

いくつかの例でシナリオを確認しましょう。

**パッケージ例 #1** - Civil Connection: このパッケージには、Revit と Civil 3D の両方との API 依存関係があり、コア ノードのコレクションは含まれていません(例: ジオメトリ関数、数学関数、および/またはリスト管理)。したがって、この場合の理想的なオプションは、オプション 1 を使用することです。パッケージは、バージョン範囲や個々のバージョン リストと一致する Revit および Civil 3D で互換性ありとして表示されます。

**パッケージ例 #2** - Rhythm: このパッケージは、コアノードのコレクションと合わせた Revit 特定ノードのコレクションです。この場合、パッケージにはホストの依存関係があります。Dynamo Core で動作するコア ノードも含まれます。したがって、この場合の理想的なオプションは、オプション 2 です。パッケージは、バージョン範囲や個々のバージョン リストと一致する Revit および Dynamo Core (Dynamo Sandbox とも呼ばれます)環境で互換性ありとして表示されます。

**パッケージ例 #3** - Mesh Toolkit: このパッケージは、ホスト依存関係を持たないジオメトリ ノードのコレクションである Dynamo Core パッケージです。したがって、この場合の理想的なオプションは、オプション 3 です。パッケージは、Dynamo およびバージョン範囲や個々のバージョン リストと一致するすべてのホスト環境で互換性ありと表示されます。

選択したオプションに応じて、下の画像に示すように、Dynamo やホスト固有のフィールドがポップアップ表示されます。
