> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Bun を使って Square Cloud で始める

> Bun JS を使って Square Cloud で始める方法を学びましょう

## 🚀 はじめに

* 始める前に、プロジェクトで Bun ランタイムを使用することを選択できます。まだローカルに Bun をインストールしていない場合、主に 2 つの選択肢があります。

* npm 経由でインストール（deploy 時の `npx` との互換性のため推奨）:

```bash theme={null}
npm install bun
```

* または、公式インストーラー経由で Bun をインストールする（ネイティブインストールの手順については Bun のドキュメントを確認してください）。

* `bun` を依存関係として追加することで、`squarecloud.app` の `START` フィールドで `npx bun` を使用して Bun でアプリケーションを起動できます。`START` の例については、下の「アプリケーションの起動」セクションを参照してください。

* 次に、Square Cloud のアカウントを作成する必要があります。これは[ログインページ](https://squarecloud.app/ja/signup)から行えます。アカウントの作成には、メール、GitHub、またはその両方を使用できます。

* 最後に、アカウントで有効な有料プランを利用している必要があります。プランを確認し、ニーズに合わせて購入するには[こちら](https://squarecloud.app/ja/pricing)をご覧ください。

## ⚙️ squarecloud.app ファイルの設定

<Note>
  Square Cloud のウェブサイト経由でアプリケーションをアップロードする場合は、このセクションを無視してかまいません。サイトが自動的に `squarecloud.app` 設定ファイルを作成します。
</Note>

<Card title="詳しく見る: Square Cloud の設定ファイルの作成方法" icon="link" href="https://docs.squarecloud.app/ja/getting-started/config-file">
  squarecloud.app ファイルは、アプリケーションを設定するために使用される設定ファイルです。名前、説明、
  バージョン、メインファイルなどを定義するために使われます。
</Card>

## ▶️ アプリケーションの起動方法

* Square Cloud の Node.js 環境で Bun ランタイムを使用するには、まずプロジェクトに `bun` パッケージを追加し（例: `npm install bun`）、ランタイム環境で `npx bun` コマンドが利用できるようにします。
* 次に、`squarecloud.app` の `START` フィールドに、Bun を使用してアプリケーションを起動するコマンドを設定します。例:

```squarecloud.app OR .config theme={null}
START=npx bun main.js
```

あるいは、bun で package.json のスクリプトを実行する必要がある場合は、次を使用します。

```
START=npx bun run start
```

* 注意: `START` フィールドが定義されている場合、その値が直接実行されます。設定ファイルのパラメータの詳細については、[設定パラメータ](https://docs.squarecloud.app/ja/getting-started/config-file#configuration-parameters)を参照してください。

* `node_modules` フォルダが存在しない場合、Square Cloud は `npm install --no-package-lock --no-audit --no-fund` を実行して依存関係をインストールし、`.npm` フォルダをクリーンアップします。

Bun をランタイムとして使用する予定がある場合は、deploy 時にランタイム環境で `npx bun` が利用できるようにするため、`bun` を依存関係として追加すること（`npm install bun`）を推奨します。ネイティブの Bun インストーラーの使用を好むプロジェクトでは、このアプローチを選択する前に互換性とビルド要件を確認してください。

## 🖥️ プロジェクトの準備

### 📁 必須の設定ファイル

Square Cloud への deploy 用に BUN プロジェクトを準備する際は、設定ファイル（`squarecloud.app/.config`）とアプリケーションの必須ファイルを zip ファイル内に含めてください。

<Warning>設定ファイル（`squarecloud.app/.config`）は zip ファイルのルートに配置する必要があります。そうでない場合、Square Cloud は deploy 時にそれを見つけることができません。</Warning>

#### 🗑️ アップロード前に除外するファイル

* `node_modules`: このフォルダは本番環境でのインストール時に再作成されるため、アップロードする必要はありません。
* `package-lock.json`: 本番環境は `package.json` に基づいて依存関係をインストールするため、このファイルは必要ありません。

### 🤔 なぜこれらのファイルを除外するのか？

プロジェクトをアップロードする前に `node_modules` と `package-lock.json` を除外する理由はいくつかあります。

1. **インストールの一貫性:** `node_modules` をアップロードしないことで、依存関係が本番環境によってインストールされ、ローカルシステムの差異のない一貫したビルドが得られます。

2. **最新のインストール:** 本番環境は `package.json` に記載された依存関係の最新の互換バージョンをインストールし、アプリケーションにクリーンなスタートを提供します。

3. **アップロードサイズの削減:** これらのフォルダを含めないことでアップロードするファイルサイズが小さくなり、アップロードプロセスが高速化され、deploy がより効率的になります。

これを行うことで、BUN アプリケーションが Square Cloud でのホスティングに最適な形で準備されます。

### 📄 必須ファイル

BUN プロジェクトをホストするには 3 つのファイルが必要です。

* [squarecloud.app/.config](https://docs.squarecloud.app/ja/getting-started/config-file)
* mainFile.js/.ts（メインファイルの例）
* [package.json](./how-to-create-your-package-json)（依存関係ファイル）

## 💡 トラブルシューティング

<AccordionGroup>
  <Accordion title="メインファイルが無効または破損しています" icon="file" iconType="solid">
    このエラーは、設定ファイルでアプリケーションの「main」として定義されているファイルが
    存在しない、綴りが間違っている、またはパスが
    誤っている場合に発生します。たとえばメインファイルがフォルダ内にある場合は、
    `folder/file.js` と指定する必要があります。
  </Accordion>

  <Accordion title="メモリ不足" icon="memory" iconType="solid">
    bot をホストするために必要な RAM の最小量は 256MB で、
    サイト/API の場合は 512MB です。ただし、アプリケーションのサイズや複雑さによっては、
    アプリケーションがメモリ不足でクラッシュするのを避けるために、
    より多くの RAM を割り当てることをお勧めする場合があります。
  </Accordion>
</AccordionGroup>

## 📤 プロジェクトのホスティング方法

Bun プロジェクトのすべてのファイルを準備できたので、次のステップはそれらを Square Cloud にアップロードしてアプリケーションをオンラインにすることです。アップロードにはいくつかの方法がありますが、ここでは Dashboard 経由と CLI 経由の 2 つを取り上げます。

### ダッシュボード経由

<Steps>
  <Step title="アップロードページにアクセス">
    [アップロードページ](https://squarecloud.app/ja/dashboard/new)にアクセスし、プロジェクトの zip ファイルをアップロードします。
  </Step>

  <Step title="環境を設定">
    zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。\
    ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
  </Step>

  <Step title="プロジェクトをデプロイ">
    最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。\
    デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Square Cloud へのアプリケーションのアップロード" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>

### CLI 経由

この方法を使用するには、プロジェクトのルートディレクトリに `squarecloud.app` という名前の設定ファイルを作成する必要があります。このファイルには、プロジェクトに必要な設定が含まれます。

<Card title="詳細はこちら: Square Cloud の設定ファイルの作成方法。" icon="link" href="/ja/getting-started/config-file">
  squarecloud.app ファイルはアプリケーションを構成するために使用される設定ファイルであり、環境を定義するために使用されます。
</Card>

<Steps>
  <Step title="CLI をインストール">
    まず、環境に CLI がインストールされている必要があります。まだの場合は、ターミナルで次のコマンドを実行してください:

    ```
    npm install -g @squarecloud/cli
    ```

    すでにお持ちの場合は、更新することを推奨します。更新するには、ターミナルで次のコマンドを実行してください:

    <Tabs>
      <Tab title="Windows">
        ```bash theme={null}
        squarecloud update
        ```
      </Tab>

      <Tab title="Linux, macOS, and WSL">
        ```bash theme={null}
        curl -fsSL https://cli.squarecloud.app/install | bash
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="認証">
    次に、認証して他の CLI コマンドを使用するには、[こちら](https://squarecloud.app/ja/account/security)で「Request API Key」をクリックして認証キーを取得します。認証キーを取得したら、次のコマンドを実行してください:

    ```bash theme={null}
    squarecloud auth login
    ```
  </Step>

  <Step title="プロジェクトをアップロード">
    最後に、CLI を使用してアプリケーションを Square Cloud にデプロイするには、次のコマンドを実行する必要があります:

    ```bash theme={null}
    squarecloud upload 
    ```

    または、zip を手動で作成した場合は、次を使用できます:

    ```bash theme={null}
    squarecloud upload --file <path/to/zip> 
    ```
  </Step>
</Steps>

## お問い合わせ

**技術的な問題**が解決しない場合は、**専門のサポートチーム**がお手伝いします。[**お問い合わせ**](https://squarecloud.app/ja/support)いただければ、どのような問題でも喜んで解決をサポートいたします。
