git install_error ai_generated true

error: LFS: Unable to checkout '<file>' because it has LFS pointer content but Git LFS is not installed or configured

ID: git/lfs-pointer-not-smudged

Also available as: JSON · Markdown · 中文
93%Fix Rate
86%Confidence
1Evidence
2023-12-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
git-lfs 3.3.0 active
git-lfs 3.4.1 active
git-lfs 3.5.0 active

Root Cause

A file tracked by Git LFS contains only the pointer text (e.g., 'version https://git-lfs.github.com/spec/v1') instead of the actual content because Git LFS is not installed, not initialized, or the smudge filter is missing.

generic

中文

由 Git LFS 跟踪的文件仅包含指针文本(例如 'version https://git-lfs.github.com/spec/v1'),而不是实际内容,因为 Git LFS 未安装、未初始化或缺少 smudge 过滤器。

Official Documentation

https://github.com/git-lfs/git-lfs/blob/main/docs/man/git-lfs.1.ronn

Workarounds

  1. 95% success Install Git LFS: 'brew install git-lfs' (macOS) or 'sudo apt-get install git-lfs' (Linux), then run 'git lfs install' to set up filters, and 'git lfs pull' to download the actual file content
    Install Git LFS: 'brew install git-lfs' (macOS) or 'sudo apt-get install git-lfs' (Linux), then run 'git lfs install' to set up filters, and 'git lfs pull' to download the actual file content
  2. 70% success If installation is not possible, manually download the file from the LFS remote server using the OID in the pointer file: 'curl -H "Accept: application/vnd.git-lfs+json" <lfs-endpoint>/objects/<oid>'
    If installation is not possible, manually download the file from the LFS remote server using the OID in the pointer file: 'curl -H "Accept: application/vnd.git-lfs+json" <lfs-endpoint>/objects/<oid>'

中文步骤

  1. Install Git LFS: 'brew install git-lfs' (macOS) or 'sudo apt-get install git-lfs' (Linux), then run 'git lfs install' to set up filters, and 'git lfs pull' to download the actual file content
  2. If installation is not possible, manually download the file from the LFS remote server using the OID in the pointer file: 'curl -H "Accept: application/vnd.git-lfs+json" <lfs-endpoint>/objects/<oid>'

Dead Ends

Common approaches that don't work:

  1. 70% fail

    This bypasses LFS tracking, causing the large file to be stored directly in Git, defeating the purpose of LFS and bloating the repository.

  2. 90% fail

    The 'git lfs' command does not exist if LFS is not installed; the shell will return 'command not found'.