2015-12-14 42 views
0

我有作曲家生成符號鏈接的問題。在作曲家不創建符號鏈接到bin腳本

#!/usr/bin/php 
<?php echo 'Hello World!'; ?> 

我已經加入配置打包composer.json(不是主項目)

"bin": ["bin/my-script"] 

: 我./bin/my-script它的代碼看起來像有腳本在主項目中更新作曲家時,我的包安裝正常。 但是作曲家沒有在我的bin腳本中創建符號鏈接./vendor/bin

我在做什麼錯了?

回答

0

你有沒有檢查這個環節https://getcomposer.org/doc/articles/vendor-binaries.md

我覺得有以下幾個主題相關的問題的方法:

什麼時候Composer可以在限定 供應商二進制文件composer.json運行情況#

對於包直接定義的二進制文件,什麼都不會發生。

什麼時候作曲是在composer.json有 依賴與上市廠商的二進制文件?#

作曲運行情況會在所有依賴的定義的二進制文件。 A 從每個依賴項的二進制文件創建符號鏈接到vendor/bin。

+0

這就是我所擁有的。 包已經確定了BIN變量。 因此,如果另一個項目需要上面的包,則應該生成BIN腳本sym鏈接。 但不是 –

+0

只是爲了澄清。我和PhpUnit一樣做了。 –

+0

你能分享你的composer.json嗎?順便檢查了phpunit,首先在phpunit目錄下,phpunit是可執行文件,可能是個問題。 – FZE

0

好的我發現了這個問題。

當我從當地倉庫,而不是作曲家包

我不得不添加下面一行到倉庫設置在我的主要項目拉動。

"repositories": [ 
    { 
     "type": "package", 
     "package": { 
      "name": "200mph/m-commander", 
      "version": "dev-master", 
      "source": { 
       "url": "/home/wojtek/m-commander", 
       "type": "git", 
       "reference": "develop" 
      }, 
      "bin": ["bin/m-commander"], 
      "autoload": { 
       "psr-4" : { 
        "mcommander\\" : "src/", 
        "examples\\mcommander\\" : "examples/" 
       } 
      } 
     } 
    } 
]