作曲家更新Laravel


Composer Update Laravel

一个开发人员把他的项目发给了我,但是当我试图更新或安装我的供应商时,一切都工作得很好,直到最后,它输出下面的消息。

C:'xampp'htdocs'BigWaveMedia'davinkit>php artisan migrate
{
    "error": {
        "type": "Exception",
        "message": "expected color value: failed at `.clearfix;` C:''xampp''htdocs''BigWaveMedia''davinkit''app''start'/..'/..'/public'/less'/style.less on line 102",
        "file": "C:''xampp''htdocs''davinkit''vendor''leafo''lessphp''lessc.inc.php",
        "line": 3258
    }
}
C:'xampp'htdocs'BigWaveMedia'davinkit>

有什么想法吗?这里是一个完整的日志http://pastebin.com/y9q4Rc5z

当您运行composer update时,composer生成一个名为composer.lock的文件,其中列出了您的所有软件包和当前安装的版本。这允许您稍后运行composer install,它将安装该文件中列出的包,重新创建您上次使用的环境。

从您的日志中显示,composer.lock文件中列出的一些版本的软件包不再可用。因此,当您运行composer install时,它会报错并失败。这通常没什么大不了的——只要运行composer update,它就会尝试构建一组可以一起工作的包,并编写一个新的composer.lock文件。

然而,你遇到了一个不同的问题。看起来,在您的composer.json文件中,原始开发人员添加了一些失败的更新前或更新后操作,特别是php artisan migrate命令。可以通过运行以下命令来避免此问题:composer update --no-scripts

这将运行编写器更新,但将跳过添加到文件中的脚本。您应该能够通过这种方式成功运行更新。

然而,这并不能长期解决问题。有两个问题:

  1. 迁移是针对数据库更改的,而不是像编译资产这样的随机内容。完成迁移并从那里删除代码。

  2. 每次运行composer update时不应该编译资产。从composer.json文件中删除该步骤

从我所读到的,最佳实践似乎是在开发过程中按需编译资产。

以下内容适合我:

composer update --no-scripts

这是编辑器更新的命令,请尝试这个…

作曲家的由来

在您的终端中写入以下命令:

作曲家更新

您可以使用:

composer self-update --2

更新到2.0.8版本(最新稳定版本)