2016-06-12 85 views
0

我目前正在嘗試設置一個更好的本地開發,但並未將有關本地結構的信息放入項目本身或本項目的composer.json中。本地「路徑」存儲庫沒有看到vcs版本信息

我發現,有一種新方法可以通過使用config.json並添加一個"repositories"部分來實現,它指向我依賴的本地項目。

我的設置

所以我設置有(與IIS 10 PHP 7.0 Win10)的幾個版本的兩個項目,讓我們給他們打電話php-project1php-project2php-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",但是這會創建一個克隆,我需要一個符號鏈接,以便直接在其他項目中進行更改。

documentation說:

如果包是本地VCS庫,版本可能是由當前已簽出的分支或標記推斷。否則,應該在包的composer.json文件中明確定義版本。

當前php-project2在標籤0.3.0沒有任何更改。
那我該怎麼做呢?

回答

0

alcohol的幫助下發現了我的錯誤(雖然^^,但這聽起來不對)。

當您使用此,需要一個符號鏈接,一定要一個"version"條目添加到您的composer.json或(在我的情況)檢出標籤(未分支),所以作曲家可以看到,您使用的版本相匹配的需要。