当前位置: 首页 > 知识库问答 >
问题:

如何恢复作曲家更新?

瞿宏儒
2023-03-14

今天我运行的作曲家更新和更新打破了我的网站完全。我在php.log发现了以下信息:

72.15.153.139--[11/Nov/2015:21:01:45 -0500]"GET/HTTP/1.1"500 - "-" "Mozilla/5.0(Windows NT 6.1; WOW64; rv: 42.0)Gecko/20100101 Firefox/42.0"[Wed Nov11 21:01:48 2015][错误][客户端127.7.179.129]PHP解析错误:语法错误,意外的函数(T_FUNCTION),期望标识符(T_STRING)或\\(T_NS_SEPARATOR) /var/lib/openshift/55c481747628e14556000188 /app-root/runtime/repo/config/vendor/danielstjules/stringy/tests/CreateTest.php在第5行72.15.153.139--[11/Nov/2015:21:01:48 -0500]"GET/HTTP/1.1"500 - "-" "Mozilla/5.0(Windows NT 6.1; WOW64; rv: 42.0)Gecko/20100101 Firefox/42.0"

似乎“danielstjules/stringy”才是罪魁祸首。但是我如何才能恢复到这个包的旧版本(或使用新闻版本?)?我试图修改composer.lock文件,并更改了

            "require": {
            "danielstjules/stringy": "~1.8",

        "require": {
            "danielstjules/stringy": "~1.9",

然后再次运行composer update,但它提供了以下信息:

用包信息加载作曲家存储库更新依赖项(包括要求开发)无需安装或更新写入锁定文件生成自动加载文件PHP解析错误:语法错误,意外的函数(T_FUNCTION),期望标识符(T_STRING)或\(T_NS_SEPARATOR)在 /var/lib/openshift/55c481747628e14556000188/app-root/runtime/repo/config/供应商/danielstjules/stringy/test/CreateTest.php在第5行脚本php工匠清除编译处理post-update-cmd事件返回错误

[运行时异常]错误输出:PHP解析错误:语法错误,意外的'函数'(T_FUNCTION),期望标识符(T_STRING)或\(T_NS_SEPARATOR)在 /var/lib/openflow/55c481747628e14556000188 /app-root/runtime/repo/config/vendor/danielstjules/stringy/test/CreateTest.php在第5行

如何回滚此包?谢谢

编辑2:

composer安装将自动修改composer.lock。我改为修改了composer.json,它成功地获取了旧版本1.8。

但构建仍然失败。这个问题的描述是有原因的。但是在我rm-rf测试/之后,问题仍然存在。

编辑3:

我尝试了以下方法:

  1. rm-rf供应商/
  2. 作曲家更新

问题解决了。

共有2个答案

章涵容
2023-03-14

如果检查作曲家版本规范留档,~运算符将获得根据语义版本控制原则向后兼容的最新版本。也就是说~1.8相当于

"danielstjules/stringy": "1.8",

这将得到准确的版本1.8。当然,之后需要运行composer update

我发现编写器版本控制语法很难记住我自己。

诸葛彦
2023-03-14

如何恢复更新?简单:从版本控制系统中恢复更新前使用的composer.lock文件。

composer.lock准确地记录了安装的软件。因此,最重要的是将此文件提交到版本控制中,以便在更新失败时能够返回到工作版本。

运行作曲家安装将始终安装记录在composer.lock中的软件版本,只有当该文件不存在时,它才会像更新一样运行。

 类似资料:
  • 我用的是拉威尔作曲家。我正在加载way/generators包,当我运行composer update时,会出现以下错误: 加载具有包信息更新依赖项的composer存储库(包括require dev) 致命错误:内存中允许的内存大小536870912字节已用尽(尝试分配67108864字节)phar:///usr/local/Cellar/composer/1.0.0-alpha8/libexe

  • 当我跑的时候 作曲家抱怨我所有的libs都被修改了——尽管我没有碰它们。 正在更新jdorn/sql-formatter(dev-master 3d8a973= 注意:我从远程存储库中提取了项目。 会不会是编码过程中搞砸了? 如何解决这个问题?

  • 我试图更新作曲家,但得到错误 以下是错误日志的链接:https://pastebin.com/JNT7Wi15 Laravel版本:5.4 Php版本:PHP7.2。4-1乌本图16。04.1黛布。苏里。org 1(cli)(构建时间:2018年4月5日08:53:57)(NTS)版权所有(c)1997-2018 PHP Group Zend Engine v3。2.0,版权所有(c)1998-2

  • 我使用的是Laravel5.2。当我在CLI上执行composer update命令时。这是产生以下按摩 无需安装或更新生成自动加载文件 照明\Foundation\ComposerScripts-::后更新php工匠优化生成优化的类加载器 我不能更新我的当前版本,或者这是一个错误我是新来的拉威尔

  • 问题内容: 我遇到了一个问题,我试图为我的Laravel 4项目安装一个新软件包。但是当我跑步时我得到了: 我在Internet上寻找问题,发现内存是问题,我认为我没有足够的RAM,我检查了一下我有411mb的空闲空间。作曲家真的需要更多RAM吗? 问题答案: “已杀死”消息通常表示您的进程消耗了太多内存,因此,如果可能,您可能只需要向系统中添加更多内存即可。在编写此答案时,我必须将虚拟机的内存增

  • 我试图执行: 致命错误:中允许的内存大小94371840字节已用尽(尝试分配71字节)phar:///home/xxxxxxx/bin/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php 在线123 xxxxxxx是用户。 然后我试着执行: 和: 然后我收到了这个: 哎呀!您的一个进程(php,pid 14331)因