9p マウントは git リポジトリを持てない
devコンテナの /workspaces(WSL/9p バインドマウント)は chmod を拒否する
(Operation not permitted)。コードの読み書きは普通にできるが、パーミッション操作が要る道具が詰まる。
- git clone が失敗:
.git/config.lockの chmod でこける。-c core.fileMode=falseでも回避不可 (chmod 自体が許可されないため)。→ この場所では新規リポジトリを作れない。 - npm install / chmod +x も不安定:bin の実行ビット設定が効かない(マウントが既定 777 なので
run.shが chmod 失敗しても実行できてしまうのは、その副作用)。 - 回避の型:git/npm を使うツールチェーンは **
$HOME(コンテナ書込層)**に置く(そこは正常)。 永続が要るもの(スクリプト・設定)は repo 側に置き、スクリプトが home を 無ければ bootstrap (clone+install) して再構築に耐えさせる。=「ツールは home・永続物は repo・自己修復」。
出典:vault-site(Quartz の clone が /workspaces で失敗 → home へ)、run.sh の chmod。
関連:devコンテナで日本語を出す(同じ「コンテナ内の現実」系)