无法打开流:包没有这样的文件或目录

问题描述 投票:0回答:2

我正在帮助一个朋友更新他们的包以支持 Laravel 10(并且我正在学习 Laravel)并且当 Sail 开始时我不断收到

Failed to open stream: No such file or directory
。 它正在尝试为“我们的”包加载服务提供者文件,但错误显示找不到相关文件。

文件 (GravityServiceProvider.php) 位于 Sail 抱怨的文件夹中 (/var/www/html/vendor/composer/../bubalubs/gravity/src/)。

我已经尝试删除 composer.lock 文件,删除供应商文件夹并运行

composer install
并且可以看到包安装没有错误。该软件包甚至可以完成所需的任何迁移。我尝试清除任何撰写缓存。我尝试在清除缓存后运行 composer update,仍然没有任何乐趣。

laravel composer-php file-not-found laravel-10
2个回答
0
投票

您必须发布您的提供商。如果包正确,请按照此处的说明进行操作https://github.com/Bubalubs/gravity


0
投票

在使用 Sail 时尝试

file_exists()
is_readable()
后,现在非常明显。我遗漏的一个小细节是包在项目之外的文件夹中。所以是的,PHP 可以“看到”该文件,因此它通过了
file_exists()
检查,但是 Sail 无法读取它,因为它在容器之外。

我已将包移动到项目内的

packages
文件夹中,并改为引用它。现在出现不同的错误,但它们似乎与包的实际代码库有关,而不是与文件/权限相关。

© www.soinside.com 2019 - 2024. All rights reserved.