我目前正在嘗試設置一個更好的本地開發,但並未將有關本地結構的信息放入項目本身或本項目的composer.json
中。本地「路徑」存儲庫沒有看到vcs版本信息
我發現,有一種新方法可以通過使用config.json
並添加一個"repositories"
部分來實現,它指向我依賴的本地項目。
我的設置
所以我設置有(與IIS 10 PHP 7.0 Win10)的幾個版本的兩個項目,讓我們給他們打電話php-project1
和php-project2
。 php-project1
取決於php-project2
,我想同時開發它們兩個。因此,我在php-project2
中所做的更改應直接影響第一個項目。另外他們是git倉庫,他們包含作爲作曲家版本的標籤。他們也在packagist上,但我當然想使用本地版本進行開發。
他們composer.json
這個樣子的(2個文件):
{
"name": "test/php-project1",
"description": "Some text here",
"type": "library",
"require": {
"test/php-project2": "^0.3",
}
}
{
"name": "test/php-project2",
"description": "Some other text here",
"type": "library"
}
請注意,沒有"version"
項,因爲我想用這個從Git標籤。
現在我試圖建立一個全球性的config.json
這樣的:
{
"repositories": [
{
"type": "path",
"url": "/somePath/php-*"
}
]
}
我使用php-*
這裏是因爲我想以後使用它與這個模式我所有的資料庫/項目。
那麼現在有什麼問題?
在第一個項目上運行composer update
時,它不使用本地版本php-project2
,而是從packagist下載。這隻適用於當我添加"version"
條目到composer.json
,但我不想要!
我也嘗試"type": "vcs"
,但是這會創建一個克隆,我需要一個符號鏈接,以便直接在其他項目中進行更改。
如果包是本地VCS庫,版本可能是由當前已簽出的分支或標記推斷。否則,應該在包的composer.json文件中明確定義版本。
當前php-project2
在標籤0.3.0
沒有任何更改。
那我該怎麼做呢?