【发布时间】:2019-08-05 07:20:29
【问题描述】:
我有一个带有一些依赖项的 Laravel 项目。这些依赖项之一是我们自己的包。我需要处理那个包。设置是我将我们的包符号链接到一个 git 存储库。
vendor/acme/ourpackage -> ~/ourpackagerepo
我在存储库中进行更改、提交,然后在父级中运行 Composer update 以获取更新的 composer.lock。这曾经工作得很好。但是在我们从 Gitlab 迁移到 Github 之后,composer update acme/ourpackage 会:
- 删除 acme/ourpackage (dev-feature/fixedinformationlog fae89ac)
- 安装 acme/ourpackage (dev-feature/fixedinformationlog 9bd7d4d):
从而覆盖符号链接!然后我必须删除文件夹并创建一个新的符号链接才能继续工作。这很麻烦,主要是因为 PHPStorm 需要重新索引。
来自 composer.json 的片段:
"repositories": [{
"type": "vcs",
"url": "git@github.com:acme/package.git"
"config": {
"preferred-install": "dist",
"platform": {
"php": "7.0.12"
},
"use-github-api": false
关于如何让 composer 只更新,或者让 tha 文件单独更新,只更新 composer.lock 的任何想法?
【问题讨论】:
-
composer update acme/ourpackage --lock 说:“无需安装或更新”并且.lock 文件未更新
-
将其添加为路径而不是存储库:getcomposer.org/doc/05-repositories.md#path
-
感谢您的回答,但我不明白当我部署到服务器时会如何工作。当 composer 不知道 git-repository 在哪里时,如何安装包?
-
@jrewing 你能解决这个问题吗?我的回答有帮助吗?
-
感谢您的回答,我会尽快查看,我可能与您在不同的时区:)
标签: php laravel git github composer-php