Skip to content

fix(cli): wrapper の source .env を devbase root 限定にする#18

Merged
takemi-ohama merged 1 commit into
mainfrom
fix/wrapper-source-only-root-env
May 22, 2026
Merged

fix(cli): wrapper の source .env を devbase root 限定にする#18
takemi-ohama merged 1 commit into
mainfrom
fix/wrapper-source-only-root-env

Conversation

@takemi-ohama
Copy link
Copy Markdown
Contributor

Summary

  • bin/devbase line 18 が CWD 直下の .env を無条件で bash source していたため、project ディレクトリ (例: Laravel プロジェクト) で devbase down/up を実行するとランタイム用 .env を source してしまい、CRLF 改行や | / & 等の特殊文字を含む値で : command not found / syntax error となり全コマンドが起動不能になっていた
  • source の本来の意図は devbase root の .env (AWS / BigQuery 等の devbase ツール用変数) を取り込むことなので、対象を ${DEVBASE_ROOT}/.env に限定する
  • compose は自前で同階層 .env を読むため、wrapper 側で project の .env を bash source する必要は無い

影響範囲

  • devbase root の .env 読み込み: ✅ 引き続き機能
  • project 直下の env (compose 用 GIT_USER / GIT_REPO 等の小さなファイル) の source: ✅ 変更なし (line 19 そのまま)
  • 副作用として project の .env から bash 変数を期待していたカスタムスクリプトがあれば 影響を受けるが、Python (lib/) からの参照は無く、.env の値は compose の ${VAR} 展開で使われるのみ

再現手順 (修正前)

cd <Laravel project with CRLF .env or values containing | & ( )>
devbase down
# → .env: line N: : command not found
# → .env: line M: syntax error near unexpected token '|'

Test plan

  • devbase root から devbase status / devbase plugin list 等を実行し、AWS_PROFILE / BIGQUERY_* 等の env が引き続き Python 側に渡ることを確認
  • Laravel .env を持つ project ディレクトリ (carmo-system-console 等) から devbase down / devbase up がエラーなく走ることを確認
  • compose の ${DB_DATABASE} 等の変数展開が従来通り動作することを確認

🤖 Generated with Claude Code

`bin/devbase` は CWD 直下の `.env` を無条件で bash source していたため、
project ディレクトリ (例: carmo-system-console) で `devbase down` を実行
すると Laravel ランタイム用 `.env` を読み込んでしまい、CRLF 改行や
`|` / `&` 等の特殊文字を値に含む行で syntax error / `: command not found`
となり全コマンドが起動不能になっていた。

compose は `env_file` 指定および同階層 `.env` を自前で読むため、wrapper
側で project の `.env` を source する必要は無い。source の本来の意図は
devbase root の `.env` (AWS / BigQuery 等 devbase ツール用変数) を取り込む
ことなので、source 対象を `${DEVBASE_ROOT}/.env` に限定する。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@takemi-ohama takemi-ohama merged commit 25c30e4 into main May 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant