LightFile NextLightFile Next

セットアップの問題

ライセンス、インストール、設定に関するトラブルシューティング

ライセンス、インストール、初期設定に関する問題とその解決方法を説明します。

ライセンス関連

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

症状:

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

原因: ライセンストークンが設定されていません。

解決方法:

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

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

lightfile-shot /path/to/images --license-token "your-token"

方法2: 環境変数:

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

方法3: ファイル:

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

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

ライセンスが無効

症状:

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

原因: トークンの形式が正しくない、またはトークンが破損しています。

解決方法:

  1. トークンを再度コピー&ペーストしてください
  2. 余分なスペースや改行がないか確認してください
    # 余分な改行を削除
    tr -d '\n' < ~/.lightfile-next/token > /tmp/token.tmp
    mv /tmp/token.tmp ~/.lightfile-next/token
  3. トークンが正しいか発行元に確認してください

ライセンスが期限切れ

症状:

Error: ライセンスの有効期限が切れています(有効期限: 2024-12-31)。新しいライセンスを取得してください

原因: ライセンスの有効期限が過ぎています。

解決方法:

新しいライセンストークンを取得して設定してください。

インストール・実行関連

Windows: プログラムが起動しない(Exit Code: -1073741701)

症状:

  • lightfile-shot.exe を実行しても何も出力されずに終了
  • イベントビューアに「アプリケーション起動エラー (0xC000007B)」が記録される
  • exitコード: -1073741701 (0xC000007B)

原因: 必要なMinGW DLLが見つからない(古いバージョンの場合)。

解決方法:

v0.0.15以降: スタティックリンク版を使用してください。最新版をダウンロードすれば、追加のDLLは不要です。

GitHub Releases - 最新版をダウンロード

v0.0.14以前: 以下の回避策を試してください:

方法1: MSYS2 UCRT64環境で実行(推奨):

# MSYS2 UCRT64シェルを起動
C:\msys64\ucrt64.exe

# プログラムを実行
./lightfile-shot.exe --help

方法2: 必要なDLLを同じフォルダにコピー: MSYS2の C:\msys64\ucrt64\bin\ から以下のDLLをコピー:

  • libgcc_s_seh-1.dll
  • libwinpthread-1.dll
  • libstdc++-6.dll(必要な場合)

方法3: MSYS2のbinをPATHに追加:

set PATH=C:\msys64\ucrt64\bin;%PATH%
lightfile-shot.exe --help

Windows: --help が表示されない

症状: lightfile-shot.exe --help を実行しても何も表示されない。

原因: Windows環境では、Goプログラムが有効なコンソールハンドルを持たない場合、標準出力への書き込みが失敗することがあります。

解決方法:

方法1: パイプを使用:

lightfile-shot.exe --help | more

方法2: ファイルにリダイレクト:

lightfile-shot.exe --help > help.txt
type help.txt

方法3: PowerShellの場合:

lightfile-shot.exe --help | Out-Host

macOS: Gatekeeperの警告

症状: 初回実行時に「開発元を確認できないため開けません」という警告が表示される。

原因: macOSのセキュリティ機能(Gatekeeper)による警告です。

解決方法:

方法1: システム環境設定から許可:

  1. 「システム環境設定」→「セキュリティとプライバシー」を開く
  2. 「このまま許可」をクリック

方法2: ターミナルから実行:

xattr -d com.apple.quarantine lightfile-shot

Linux: Permission denied

症状:

bash: ./lightfile-shot: Permission denied

原因: 実行権限が付与されていません。

解決方法:

chmod +x lightfile-shot
./lightfile-shot --version

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

無効なサイズ形式

症状:

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

原因: サイズの単位が指定されていません。

解決方法:

単位を含めて指定してください:

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

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

使用可能な単位:

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

引数の不整合エラー

症状1: ファイル処理モードでディレクトリを指定

Error: 第1引数がファイルの場合、第2引数は既存のディレクトリではなく出力ファイルパスを指定してください

原因: ファイル処理モードで、出力先として既存のディレクトリを指定しています。

解決方法:

# 間違った例
lightfile-shot /path/to/image.jpg /path/to/existing_directory  # NG

# 正しい例
lightfile-shot /path/to/image.jpg /path/to/optimized.jpg  # OK

症状2: ディレクトリ処理モードでファイルを指定

Error: 第1引数がディレクトリの場合、第2引数は既存のファイルではなく出力ディレクトリを指定してください

原因: ディレクトリ処理モードで、出力先として既存のファイルを指定しています。

解決方法:

# 間違った例
lightfile-shot /path/to/directory /path/to/existing_file.jpg  # NG

# 正しい例
lightfile-shot /path/to/directory /path/to/output_directory  # OK

無効な品質値

症状:

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

原因: サポートされていない品質値が指定されています。

解決方法:

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

lightfile-shot /path/to/images --quality low
lightfile-shot /path/to/images --quality medium
lightfile-shot /path/to/images --quality high

表示言語が期待と異なる

症状1: 日本語環境なのに英語で表示される

原因: システムの言語設定が認識されていません。

解決方法:

明示的に日本語を指定して実行してください:

macOS/Linuxの場合:

LANG=ja_JP.UTF-8 lightfile-shot --help

Windowsの場合:

$env:LANG = "ja_JP.UTF-8"
lightfile-shot --help

症状2: 英語で表示したいのに日本語になる

原因: システムの言語設定が日本語になっています。

解決方法:

明示的に英語を指定して実行してください:

macOS/Linuxの場合:

LANG=en_US.UTF-8 lightfile-shot --help

Windowsの場合:

$env:LANG = "en_US.UTF-8"
lightfile-shot --help

詳細は 表示言語の設定 を参照してください。

環境変数が効かない

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

解決方法:

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

echo $LF_TOKEN
echo $LOG_LEVEL

方法2: サブシェルで実行していないか確認:

# NG: サブシェルで環境変数が引き継がれない
LF_TOKEN="token" sh -c 'lightfile-shot /path/to/images'

# OK: 同じシェルで実行
export LF_TOKEN="token"
lightfile-shot /path/to/images

方法3: 永続的に設定 (Linux/macOS):

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

トラブルシューティングのベストプラクティス

まずドライランで確認

実際の処理を行う前に、ドライランモードで動作を確認します:

lightfile-shot /path/to/images --dry-run --verbose

詳細ログを有効化

問題が発生した場合は、詳細ログを有効にして原因を特定します:

lightfile-shot /path/to/images --log-level debug --verbose

段階的に設定を追加

設定を段階的に追加して、問題の箇所を特定します:

# 1. 最もシンプルな実行
lightfile-shot /path/to/images

# 2. フィルタを追加
lightfile-shot /path/to/images --min-size 10kb

# 3. 品質設定を追加
lightfile-shot /path/to/images --min-size 10kb --quality high

# 4. 並列処理を追加
lightfile-shot /path/to/images --min-size 10kb --quality high --concurrency 4

サポート

問題が解決しない場合は、以下の情報を含めて報告してください:

  • lightfile-shotのバージョン (lightfile-shot --version)
  • OS とバージョン
  • 実行したコマンド
  • エラーメッセージ全文
  • --verbose --log-level debug での出力