作曲家更新拉拉维尔

2022-08-30 15:03:43

一位开发人员已经将他的项目发送给我,但是当我尝试更新或安装我的供应商时,一切都运行良好,直到最后,它输出消息。

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


答案 1

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

从日志中可以看出,文件中列出的某些程序包版本不再可用。因此,当您运行 时,它会抱怨并失败。这通常没什么大不了的 - 只需运行,它就会尝试构建一组协同工作的包并编写一个新文件。composer.lockcomposer installcomposer updatecomposer.lock

但是,您遇到了一个不同的问题。在您的文件中,原始开发人员似乎添加了一些失败的更新前或更新后操作,特别是命令。这可以通过运行以下命令来避免:composer.jsonphp artisan migratecomposer update --no-scripts

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

但是,从长远来看,这并不能解决问题。有两个问题:

  1. 迁移用于数据库更改,而不是像编译资产这样的随机操作。完成迁移并从中删除该代码。

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

从我所读到的内容来看,最佳实践似乎是在开发期间(即,当您对LESS文件进行更改时 - 理想情况下使用gulp.js等工具)和部署之前根据需要编译资产。


答案 2

以下内容对我有用:

composer update --no-scripts

推荐