Composer php Laravel 5中的错误:致命错误:在最近的编写器更新后需要()

Composer php Laravel 5中的错误:致命错误:在最近的编写器更新后需要(),composer-php,laravel-5.1,Composer Php,Laravel 5.1,我正在做一个拉威尔的项目,它工作得很好。但是 最近,我已经更新了作曲家由作曲家更新和作曲家更新成功 然后我从供应商文件夹中删除了不必要的包。我还从供应商处删除了paragonie文件夹,这对我来说是不需要的。 这给了我以下的错误 致命错误:require:无法打开required'/var/www/laravel/vendor/paragonie/random\u compat/lib/random.php'include\u path='。:/usr/share/php:/usr/share/

我正在做一个拉威尔的项目,它工作得很好。但是 最近,我已经更新了作曲家由作曲家更新和作曲家更新成功

然后我从供应商文件夹中删除了不必要的包。我还从供应商处删除了paragonie文件夹,这对我来说是不需要的。 这给了我以下的错误

致命错误:require:无法打开required'/var/www/laravel/vendor/paragonie/random\u compat/lib/random.php'include\u path='。:/usr/share/php:/usr/share/pear',在第54行的/var/www/laravel/vendor/composer/autoload\u real.php中`

我已经添加了这个文件夹,工作正常。
任何人都可以帮我弄清楚paragonie文件夹的用途。
为什么包括它?

Composer管理供应商/文件夹中的每个包。如果不破坏某些内容,就无法从供应商/服务器中删除任何文件夹。别这样

如果要从项目中删除软件包,请编辑composer.json并执行composer安装

供应商文件夹中可能有一些包不是composer.json所必需的。这是因为任何包都可以有自己的需求。如果你删除了其中一个必需的包,你就会破坏它

通常无需从供应商处删除任何内容

注意:编写器更新不会更新编写器本身。它会更新项目的每个包!要更新编写器本身,请使用编写器自我更新

为了更好地理解composer,我建议您阅读或上的一些教程。

不要手动编辑composer.json或供应商文件夹的文件结构。“供应商”文件夹包含依赖项及其依赖项

最重要的一点是,您永远不应该在项目中编辑项目依赖关系。第二次你这样做,你已经打破了未来的更新,这是一件可怕的事情

如果你觉得这是不可能的,因为图书馆需要改变,我建议你深呼吸

大多数库都有一些内置的配置选项或修改库的方法。如果他们不这样做,那么可能会贡献一些,或者捐出图书馆

您完全可以对任何拥有源代码修改许可证的库进行更改,这就是开源代码存在的原因,但您需要以正确的方式进行更改

您可以通过使用源代码管理来改进代码,这也允许您向包维护人员提交pull-requestPR

尝试这样做的好处是,如果软件包维护人员决定接受您的更改,您将了解他们未来的所有更新,即使您没有时间维护您的更改,也可能有人会将其接收并进行更改

如果您的公关不被接受;我会强烈考虑重新考虑你最初的假设,这样你就可以确信你所做的决定是唯一的方式,或者是最有利的方式。不管怎样;这没关系,因为你可以保留你的fork作为将来的版本,或者只有当你真的是更多的人会从中受益时才将它添加到packagist中;或者告诉composer直接从您的存储库中提取,它必须在互联网上

如果你必须分叉,你需要确保你能够保持依赖性,并且这在你的组织内是可以接受的。如果是您,那么在将来,您可以随时从原始源库手动更新;确保您在保留更改的同时仍能享受核心库的好处

这就是高中编码和专业发展之间的区别


很抱歉大声喊叫/惊呼,但这需要更多地表达出来,可能是在某个100英尺的地方。

通过以下步骤解决此问题:

从终端CLI转到您的项目

光盘供应商

svn添加paragonie

svn提交-m

如果另一个文件丢失,请执行相同的操作。 对我来说,它100%有效。
祝你好运。

为什么这里不需要paragonie?你是否修复了此问题?任何人都可以帮助我了解paragonie文件夹的用途。为什么包括它?对于新的PHP7CSPRNG函数,它是一个PHP5多边形填充。不,我还不知道。我已在更新中收到此文件夹。