このプロジェクトは、42Tokyoの課題開発に最適な環境を、Dockerを用いて簡単に再現することを目的としています。 Ubuntuベースの仮想環境には、clangやvalgrind、norminetteなど、42プロジェクトに必要なツールがあらかじめインストールされています。
-
Docker Desktop をインストール → 公式サイト からインストールしてください。
-
最新版の環境をダウンロード → 以下のリリースページから
.zipまたは.tar.gzをダウンロードして展開します: 👉 v1.0.0 リリースページ# 例(ターミナル操作の場合) wget https://github.com/urassh/ft_environments/archive/refs/tags/v1.0.0.zip unzip v1.0.0.zip cd ft_environments-1.0.0
-
コンテナを起動:
docker compose up -d
-
コンテナに入る:
docker compose exec 42env bashデフォルトの作業ディレクトリは
/urasshです。ホスト側のプロジェクトと同期されているので、自由に編集可能です。
-
build-essentialC/C++開発に必要な基本的なビルドツール群(gcc,g++,makeなど)を含むパッケージ。 👉 C言語のコンパイルやMakefileの動作に必須。 -
clangLLVMベースの高性能なC/C++コンパイラで、GCCの代替として使用可能。 👉 42で推奨されているコンパイラ環境に近づけるために導入。 -
git分散型のバージョン管理システム。 👉 課題テンプレートのクローンや、コード管理に必要。 -
curlURLからデータを取得できるコマンドラインツール(HTTP, HTTPSなど)。 👉 スクリプトやライブラリのダウンロード、API通信に便利。 -
wgetファイルのダウンロードに使われるもう一つのツール。 👉 valgrindなどのソースコードを取得するために使用。 -
ca-certificatesHTTPS接続のためのSSL証明書群。 👉 curlやgitでHTTPS通信を行う際に必要。 -
valgrindメモリリーク、未初期化変数、ヒープエラーなどを検出する静的解析ツール。 👉 C言語のメモリバグを検出するために使用。42の課題でよく使われる。 -
makeMakefileに従ってコンパイルやビルドを自動化するツール。 👉 42の課題においてビルド自動化に不可欠。 -
python3.10Pythonの実行環境。 👉francinetteなど一部のコードチェックツールの実行に必要。 -
python3-pipPythonのパッケージ管理ツール。 👉norminetteや他のPythonツールをインストールするために使用。 -
python3.10-venvPythonの仮想環境作成ツール。 👉francinetteやPythonベースのツールの依存関係を分離・管理するために使用。 -
python3.10-distutilsPythonモジュールのビルド・インストールに必要なライブラリ。 👉 一部のPythonツールで依存されているため導入。 -
libtool,automake,autoconfソースコードからのビルド時に必要なツール群。 👉 valgrindなどをソースからビルドするために必要。 -
libc6-dbgGNU Cライブラリのデバッグ情報付きバージョン。 👉 gdbやvalgrindでの詳細なデバッグに使用される。(francinetteというテストツールを使うため入れました) -
norminette(Python経由でインストール) 42のCコードスタイルを自動チェックする公式ツール。 👉 コードのスタイルチェックに必須。
バグ報告・改善提案・プルリクエスト大歓迎です!