我需要运行composer update
来安装laravelcollectives。运行它后,我得到:
连接中的查询异常.php第 651 行:SQLSTATE[42S22]:找不到列:1054 字段 'id' 未知 where 子句(SQL:从用户中选择 *,其中 id = 4 限制 1)
和:
PDOException in Connection.php 第 319 行:SQLSTATE[42S22]:未找到列:1054 字段 'id' 未知,其中子句
更新之前没有这样的错误。可能出了什么问题?!
你真正做错的是你运行composer update
将包安装到一个工作项目中。
要将新软件包安装到已经良好的工作环境中,请始终在您的情况下使用composer require vendor/package:2.*
,例如:
composer require laravelcollective/html:5.2.*
为什么从不运行composer update
来安装软件包?
正如命令update
已经说过的那样,它将composer.json
中所需的每个包更新到最新版本(基于您的minimum-stability
和版本标签)。是的,它还会安装新软件包,但是如果您在运行update
后遇到错误,您将永远不知道发生了什么。是杀死您的工作项目的新包还是任何更新的包。因此,仅当您真的想要更新时才运行update
,而如果您想要安装软件包,则永远不要运行。因此,请使用composer require
因为它只安装新包,但从不接触现有包。