LightFile NextLightFile Next

ライセンスと設定

ライセンス、YAML設定ファイル、環境変数に関するトラブルシューティング

ライセンス関連

ライセンストークンが見つからない

症状:

Error: ライセンストークンが見つかりません。--license-token オプション、環境変数 LF_TOKEN、またはファイル ~/.lightfile-next/token でライセンストークンを指定してください

以下のいずれかの方法でトークンを指定してください:

1. コマンドラインオプション:

lightfile-batch local /path/to/images --license-token "your-token"

2. 環境変数:

export LF_TOKEN="your-token"
lightfile-batch local /path/to/images

3. ファイル:

mkdir -p ~/.lightfile-next
echo "your-token" > ~/.lightfile-next/token
lightfile-batch local /path/to/images

4. YAML設定ファイル:

licenseToken: your-token

詳細は ライセンスのセットアップ を参照してください。

ライセンスが無効

症状:

Error: ライセンストークンが無効です: invalid token format

よくある原因と対処法:

  1. 余分なスペースや改行が混入:

    # 余分な改行を削除
    tr -d '\n' < ~/.lightfile-next/token > /tmp/token.tmp
    mv /tmp/token.tmp ~/.lightfile-next/token
  2. トークンの一部がコピーできていない: トークンを再度コピー&ペーストしてください

  3. ファイル保存時の文字化け: テキストエディタで再保存、または別の方法(環境変数、コマンドライン)で指定してください

YAML設定ファイル関連

YAML構文エラー

症状:

Error: failed to parse config file: yaml: line 5: mapping values are not allowed in this context

よくあるミスと対処法:

  1. インデントを確認 (スペース2個を使用):

    # 正しい
    log:
      level: info
      progressInterval: 30s
    
    # 間違い(タブを使用している)
    log:
    	level: info
  2. コロンの後にスペースを入れる:

    # 正しい
    level: info
    
    # 間違い
    level:info
  3. 文字列をクォートで囲む(特殊文字が含まれる場合):

    # 正しい
    password: "p@ssw0rd:123"
    
    # 間違い(コロンが含まれる)
    password: p@ssw0rd:123
  4. オンラインYAMLバリデーターで確認:

設定値が反映されない

症状: YAML設定ファイルで指定した値が反映されない。

原因: コマンドラインオプションが優先されています。

解決方法:

優先順位:

  1. コマンドラインオプション(最優先)
  2. 環境変数
  3. YAML設定ファイル
  4. デフォルト値

コマンドラインオプションを削除してYAML設定のみで実行:

# コマンドラインオプションが優先される
lightfile-batch --config config.yaml --quality low  # low が使われる

# YAML設定が使われる
lightfile-batch --config config.yaml  # config.yamlの quality が使われる

設定ファイルが見つからない

症状:

Error: config file not found: config.yaml

対処法:

  1. ファイルの存在を確認:

    ls -l config.yaml
  2. 絶対パスで指定:

    lightfile-batch --config /path/to/config.yaml
  3. カレントディレクトリを確認:

    pwd
    ls

設定・コマンドライン関連

無効なサイズ形式

症状:

Error: invalid min-size: Invalid size format: 100

注意: サイズには必ず単位が必要です:

# 正しい例
lightfile-batch local /path/to/images --min-size 100kb
lightfile-batch local /path/to/images --max-size 5mb

# 間違った例
lightfile-batch local /path/to/images --min-size 100  # NG: 単位なし

使用可能な単位:

  • b, B: バイト
  • kb, KB, k, K: キロバイト
  • mb, MB, m, M: メガバイト
  • gb, GB, g, G: ギガバイト

無効な品質値

症状:

Error: 無効な品質: super (有効なオプション: low, medium, high)

以下のいずれかを指定してください:

lightfile-batch local /path/to/images --quality low
lightfile-batch local /path/to/images --quality medium
lightfile-batch local /path/to/images --quality high

無効な進捗ログ間隔

症状:

Error: invalid log progress interval: time: invalid duration "30"

注意: 時間には必ず単位が必要です:

# 正しい例
lightfile-batch local /path/to/images --log-progress-interval 30s
lightfile-batch local /path/to/images --log-progress-interval 1m
lightfile-batch local /path/to/images --log-progress-interval 500ms

# 間違った例
lightfile-batch local /path/to/images --log-progress-interval 30  # NG

使用可能な単位:

  • ms: ミリ秒
  • s: 秒
  • m: 分
  • h: 時間

環境変数関連

環境変数が効かない

症状: 環境変数を設定したのに認識されない。

よくある原因と対処法:

  1. 環境変数が設定されているか確認:

    echo $LF_TOKEN
    echo $LOG_LEVEL
    echo $AWS_ACCESS_KEY_ID
  2. サブシェルで実行していないか確認:

    # NG: サブシェルで環境変数が引き継がれない
    LF_TOKEN="token" sh -c 'lightfile-batch local /path/to/images'
    
    # OK: 同じシェルで実行
    export LF_TOKEN="token"
    lightfile-batch local /path/to/images
  3. 永続的に設定 (Linux/macOS):

    # ~/.bashrc または ~/.zshrc に追記
    echo 'export LF_TOKEN="your-token"' >> ~/.bashrc
    source ~/.bashrc