【发布时间】:2018-04-16 19:39:48
【问题描述】:
在我的composer.json 我有
"require": {
. . .
"unisharp/laravel-filemanager": "~1.8"
}
目前,最新版本是v1.8.2.2,在运行composer update 命令后,我将它安装在我的本地主机项目中(一切正常)。
我已将 (git push origin master) 从 localhost 推送到 Bitbucket 上的远程仓库,并通过 SSH 连接到 Web 服务器并从该远程仓库克隆 (git clone ...)。
现在,当我运行 composer update(在网络服务器上)时,它会安装 v1.8.0,它有一些 bug。之后,当我再次尝试运行 composer update - 我得到:
Nothing to install or update
...但它仍然是 v1.8.0(不像在本地主机上的 v1.8.2.2)。
所以,我在我的本地主机和实时服务器上有相同的 composer.json 项目,但由于某种原因,本地主机有最新版本的包,而实时版本有旧版本的错误,composer update 没有不要更新它。
你知道为什么会这样吗?我该如何解决?
【问题讨论】:
-
您应该在本地运行
composer update并将您的composer.lock文件提交给您的版本控制。然后,您应该在您的服务器上运行composer install以提取composer.lock文件中详细说明的依赖项。 -
跑完
composer update,你跑php artisan vendor:publish了吗? -
php artisan vendor:publish将如何更新包版本? -
@Jonathon 我犯了一个错误,因为我没有先运行
install,而是update(看起来是composer.json,而不是composer.lock)。现在当我第一次做composer install时 - 一切都很好。如果可以 - 将您的评论发布为 answer 以便我查看。 -
没问题,现在添加。
标签: php git laravel composer-php