gpt4 book ai didi

php - Composer 更新 Laravel

转载 作者:IT王子 更新时间:2023-10-28 23:55:01 26 4
gpt4 key购买 nike

开发人员已将他的项目发送给我,但每当我尝试更新或安装我的供应商时,一切都很好,直到最后,它会输出以下消息。

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

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

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

  1. 迁移是为了数据库更改,而不是像编译 Assets 这样的随机事情。完成迁移并从那里删除该代码。

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

根据我的阅读,最佳实践似乎是在开发过程中根据需要编译 Assets (即,当您更改 LESS 文件时 - 最好使用像 gulp.js 这样的工具)和之前部署。

关于php - Composer 更新 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24782960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com