簡體   English   中英

Symfony - 自動加載器找不到類/作曲家錯誤

[英]Symfony - Autoloader can't find class / composer error

當我嘗試使用composer require xyz向我的項目添加新依賴項時,出現以下錯誤:

自動加載器期望在文件“.../vendor/ocramius/package-versions/src/PackageVersions/Versions.php”中定義類“PackageVersions\\Versions”。

找到了文件但類不在其中,類名或命名空間可能有拼寫錯誤。

我深入研究了該文件,以查看Versions類在正確的文件中,但具有以下名稱:

Versions_composer_tmp0

命名空間聲明在整個項目中似乎都很好,還有 php 開始標記(我讀到可能會導致此類問題)。

此外,我注意到Installer類文件中的所有use語句,即創建Versions類的文件, phpstorm 將其標記為Undefined Classes 它們都應該在命名空間Composer\\xyz

我嘗試了以下方法但沒有成功:

  • 清除 symfony 緩存
  • 清除作曲家緩存
  • composer self-update
  • 刪除ocramius供應商文件夾,以便作曲家再次下載
  • 重命名類,這是毫無意義的,因為這個Versions類的全部目的是在每次composer installcomposer update重寫

編輯:

我正在嘗試安裝1up-lab/OneupUploaderBundleOcramius/PackageVersions可能已經作為依賴項存在(我沒有手動要求它)

編輯2:

我剛剛看到server:run也不起作用。 所以問題絕對與我要安裝的包無關。 我設法從類重命名,使服務器運行Versions_composer_tmp0Versions

事實證明,這是一個作曲家的問題:

作曲家/作曲家#5237

Ocramius 為此發布了修復程序/解決方法:

Ocramius/PackageVersions - 1.0.4 版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM