jordansissel/fpm · error · FPM::InvalidPackageConfiguration

Path looks like a requirements.txt, but it doesn't exist: #{

Error message

Path looks like a requirements.txt, but it doesn't exist: #{package}

What it means

Error "Path looks like a requirements.txt, but it doesn't exist: #{package}" thrown in jordansissel/fpm.

Source

Thrown at lib/fpm/package/virtualenv.rb:65

    "for archives in the directory listing.",
    :multivalued => true, :attribute_name => :virtualenv_find_links_urls,
    :default => nil

  private

  # Input a package.
  #
  #     `package` can look like `psutil==2.2.1` or `psutil`.
  def input(package)
    installdir = attributes[:virtualenv_install_location]
    m = /^([^=]+)==([^=]+)$/.match(package)
    package_version = nil

    is_requirements_file = (File.basename(package) == "requirements.txt")

    if is_requirements_file
      if !File.file?(package)
        raise FPM::InvalidPackageConfiguration, "Path looks like a requirements.txt, but it doesn't exist: #{package}"
      end

      package = File.join(::Dir.pwd, package) if File.dirname(package) == "."
      package_name = File.basename(File.dirname(package))
      logger.info("No name given. Using the directory's name", :name => package_name)
      package_version = nil
    elsif m
      package_name = m[1]
      package_version = m[2]
      self.version ||= package_version
    else
      package_name = package
      package_version = nil
    end

    virtualenv_name = package_name

    self.name ||= package_name

View on GitHub (pinned to b6d77ba72a)

When it happens

Trigger: Thrown at lib/fpm/package/virtualenv.rb:65 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jordansissel/fpm@b6d77ba72a (2026-08-21). Data as JSON: /api/errors/b886d7673b8e167a. Report an issue: GitHub.