我正在帮助一个朋友更新他们的软件包以支持Laravel 10(我正在学习Laravel),当Sail启动时,我一直得到Failed to open stream: No such file or directory
。它正在尝试为'our'包加载服务提供商文件,但错误读取为它找不到有问题的文件。
这个文件(GravityServiceProvider.php)在Sail抱怨的文件夹中(/var/www/html/vendor/composer/../bubalubs/gravity/src/)
我试过删除作曲家。删除供应商文件夹并运行composer install
,可以看到包安装没有错误。这个包甚至可以完成所需的任何迁移。我尝试清除所有撰写缓存。我试着在清理缓存后运行作曲家更新,仍然没有乐趣。
您必须发布您的提供者。如果包是正确的,请按照这里找到的说明https://github.com/Bubalubs/gravity
在使用Sail时尝试file_exists()
和is_readable()
后,现在非常明显。我遗漏的一个小细节是,这个包位于项目外部的一个文件夹中。所以,是的,PHP可以"看到"文件,因此它通过了file_exists()
检查,但Sail无法读取它,因为它在容器之外。
我已经将包移动到项目内部的packages
文件夹中,并引用该文件夹。现在得到不同的错误,但它们似乎与包的实际代码库有关,而不是与文件/权限相关。