Replitアプリは2つのファイル(Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
.replitとreplit.nix)で設定されます。これらのファイルは、コードの実行から開発ツールや言語まで、Replitアプリの動作に影響を与えます。
これらの設定ファイルはデフォルトで非表示になっています。ファイルツリーメニューから「Show hidden files」を選択して、Replitアプリに表示させてください。

replit.nix ファイル
Replitはパッケージと環境を管理するためにNixを使用します。replit.nixファイルは以下の目的で使用されます:
システム依存関係の指定: パッケージマネージャーであるNixで管理される、Replitアプリに必要なソフトウェアパッケージを正確に定義します。
再現可能な環境の作成: 開発環境が一貫して再現可能であることを確保し、共同プロジェクトや複数のシステムでのテストに最適です。
Dependenciesツールを通じてNixパッケージを視覚的に管理できます。詳しくはシステム依存関係ガイドをご覧ください。
replit.nixファイルでパッケージを設定するには、deps配列にpkgs.プレフィックスを付けてNixパッケージを列挙できます。変更はシェルを再読み込みした後に同期されます。
.replit ファイル
.replitファイルはReplitアプリの動作を制御します。toml設定形式を使用します。設定できる主な項目を以下に示します:
実行コマンド: Runボタンを選択したときに実行されるコマンドを指定します。各テンプレートにはコードをすぐに実行できるデフォルトの実行コマンドがあります。より高度なアプリにはWorkflowsを使用してください。
Language Server Protocol(LSP): オートコンプリート、コードナビゲーション、コードハイライト、リアルタイムのリントとエラー表示などの機能を提供します。
環境変数: アプリを正しく動作させるために必要な環境変数を設定・管理します。
依存関係とパッケージ: .replitファイルを通じてパッケージのインストールと設定を直接管理し、起動時にReplitアプリが必要なツールをすべて準備できるようにします。Dependenciesツールを通じて依存関係を視覚的に管理できます。詳しくはシステムモジュールガイドをご覧ください。
Pythonアプリケーションのデフォルト.replitファイルは次のようになります:
.replitファイル内の各設定の概要を示し、各設定がReplitアプリ環境に与える影響を説明しています。
| 設定キー | 値/例 | 説明 |
|---|---|---|
entrypoint | main.py | エディターを開いたときにデフォルトで実行・表示されるメインファイルを指定します。アプリケーションに合わせてファイル名を変更できます。 |
modules | ["python-3.10:v18-20230807-322e88b"] | Replitがサポートするプログラミング言語やその他の主要な依存関係の特定のバージョンを定義します。 |
[nix] | システム依存関係を管理するパッケージマネージャーNixの使用設定を指定します。詳しくは依存関係管理ドキュメントをご覧ください。 | |
channel | stable-23_05 | 使用するNixチャンネルを指定し、利用可能なシステム依存関係のバージョンに影響します。 |
packages | ["cowsay", "htop"] | インストールするNixパッケージを指定します。より細かい制御にはreplit.nixも使用できます。 |
[unitTest] | Replitアプリ内のユニットテストに関連する設定を構成します。 | |
language | python3 | ユニットテストに使用する言語を指定し、Python 3がテストに使用されることを示します。 |
[gitHubImport] | GitHubからプロジェクトをインポートする方法に影響する設定。特に含める必要があるファイルを指定します。 | |
requiredFiles | [".replit", "replit.nix"] | プロジェクトを正しく機能させるためにインポート時に存在する必要があるファイルを列挙します。 |
[deployment] | ReplitアプリからライブEnvironmentへのアプリケーションデプロイメントの設定を含みます。 | |
run | ["python3", "main.py"] | デプロイメント中にアプリケーションを起動するために実行されるコマンド。 |
deploymentTarget | cloudrun | アプリケーションをホストするデプロイメントターゲットプラットフォームを指定します。 |
.replitファイルのデフォルト設定を理解したら、次のセクションでReplitアプリの基本設定と高度な設定の方法を確認してください。
基本設定の構成
エントリーポイント
これはプロジェクトのメインファイルです。runプロパティを定義しない場合、entrypointがランタイムによって実行されるファイルになります。
Runコマンド
.replitファイルのrunプロパティは、Replit環境でRunボタンを選択したときに実行される最初のコマンドまたは一連のコマンドを決定する重要な機能です。Runコマンドは、実行するコマンドを表す文字列、またはコマンドとその引数を表す文字列の配列として指定できます。
Runコマンドを設定する一般的な方法:
-
単一コマンド:
この例は、Replitアプリで直接実行する単一コマンドを渡す方法を示しています。この設定で
Runボタンを押すと、Consoleペインにグリーティングが表示されます: 例:run = "echo 'Hello, Replit!'" -
明示的な引数:
状況によっては、引用符やシェル補間ルールの解析を避けるために、より明示的にすることが有益な場合があります。引数を分離して上記の例を書き直すことができます。
グリーティングを
echoの最初で唯一の引数として明示的に渡しているため、'と"の両方は不要になります: 例:run = ["echo", "Hello, Replit!"] -
複数コマンド:
この例は、フロントエンドとバックエンドなど複数のプロセスを同時に実行する方法を示しています。各サーバーが異なるポートにバインドするPythonバックエンドとTypeScriptフロントエンドを開発する場合に役立ちます:
例:
run = "python -m app & npm run start & wait"
プロセス管理
&で複数のコマンドを同時に実行できますが、サービス間のログを区別するためにより良いエクスペリエンスが必要な場合があります。システム依存関係を追加して、process-composeなどのツールで複数のプロセスをより適切にオーケストレーションできます。
Buildフェーズ
一部の言語やランタイムでは、コードをrunする前に別のコンパイルフェーズがあります。これは、TypeScript、Golang、Javaなどのコンパイル言語を対象とするほか、次のrunが実行される前に環境、データ、設定をリセットするためのパラメーターを提供します。
- コンパイル:
TypeScriptリポジトリでは、コードを実行する前に
tscを実行する必要がある場合があります。 例:
環境変数の設定
実行前にサービスに環境変数を提供するには、runプロパティをテーブルに展開できます。
これはより複雑な変更であり、.replitファイル内のrun = "..."プロパティの位置を移動する必要がある場合があります。
以下のdiffは、[run]のargsでコマンドを指定し、[run.env]で変数NAMEを指定する方法を示しています:
インタラクティビティ
インタラクティブなプログラムもRunボタンから起動でき、プログラムが実行されているターミナルと開発環境を区別する方法を提供します。
以下のカウントスクリプトを考えてみましょう:
例
高度な設定オプション
Replitアプリで利用可能な詳細な設定オプションを確認しましょう。開発環境のカスタマイズ、実行コマンドの管理、言語サービスの統合、依存関係の処理が可能です。システム全体のオーディオに関する注意
.replitファイルでaudio = trueを設定する場合、新しい設定を有効にするためにシェルでkill 1を実行する必要がある場合があります。
グラフィカルアプリケーションを実行する場合、Outputペインの右下にチェックボックス付きのヘッドフォンアイコンが表示されます。
ブラウザの制限により、更新するたびにこれを有効にする必要があります。
パッケージャーの設定
パッケージャー設定の.replit設定例
デプロイメントの設定
デプロイメント設定の.replit設定例
インタープリターの設定は非推奨となり、Replitでは利用できなくなりました。代わりに、
Runコマンドを使用してReplitアプリ環境内でスクリプトとアプリケーションをどのように実行するかを設定することをお勧めします。ポートの設定
ポート管理のための.replit設定ファイルの例
Replitアプリの環境メタデータへのアクセス
Node.js
すべての環境変数にアクセスするには:console.log(process.env);
単一の変数(REPL_SLUG)にアクセスするには:
console.log(process.env.REPL_SLUG);