2013-03-30 26 views
2

我有一個composer.json文件像這樣的:如何使用Composer需要項目的特定文件?

{ 
    "require": { 
     "components/jquery": "*", 
     "ajbdev/requirejs": "dev-master" 
    } 
} 

但我希望得到公正的ajbdev/requirejs/require.js文件。我如何使用Composer來做到這一點?

編輯:

正如@開發無效居民提出,下面的工作對我來說,卻是最好的解決辦法?

{ 
    "require": { 
     "components/jquery": "*" 
    }, 
    "scripts": { 
     "post-autoload-dump": "rm -rf vendor/ajbdev && mkdir vendor/ajbdev && mkdir vendor/ajbdev/requirejs && wget -q --no-check-certificate -O vendor/ajbdev/requirejs/require.js https://raw.github.com/ajbdev/requirejs/master/require.js" 
    } 
} 

回答

2

您可以使用scripting hook並提供全面的得到此文件之前,請執行以下命令它的URL,即:

{ 
    "require": { 
     "components/jquery": "*" 
    }, 
    "scripts": { 
     "post-autoload-dump": "wget -q -P vendor/file/output/dir/ --no-check-certificate https://raw.github.com/ajbdev/requirejs/master/require.js" 
    } 
} 
+0

哦,有用。差不多了。現在,我怎麼能告訴作曲家把這個文件放在'ajbdev/requirejs'文件夾中?通過這種方式,該文件在'composher.phar'主文件夾中創建。 – GarouDan

+0

這是shell腳本,所以你可以做任何你想要的而不依賴於作曲家。如果你不熟悉shell,你也可以在php中爲它編寫代碼,就像鏈接作曲文檔的最後一個例子。 –

+0

我會把整個json文件放在我的問題上。謝謝。 – GarouDan

1

編輯

  • 叉包在github上,
  • 刪除所有文件,但你想的那些有在你的項目和包composer.json。
  • 添加您的叉子爲自定義庫:

    { 
        "repositories": [ 
         { 
          "type":"vcs", 
          "url":"[email protected]:Shalkydri/requirejs.git" 
         } 
        ], 
        "require": { 
         "components/jquery": "*", 
         "ajbdev/requirejs": "dev-master" 
        } 
    } 
    

編輯

爲了只獲取引用 「require.js」 文件,你可能會找到從packagist相應的github包( https://packagist.org/packages/ajbdev/requirejs)在找到github上的文件及其原始版本之前:

https://github.com/ajbdev/requirejs/blob/master/require.js https://raw.github.com/ajbdev/requirejs/master/require.js

原來的答案

可以提供任何版本的約束,如「開發高手」

php composer.phar require ajbdev/requirejs 
+0

有趣,但你能幫我嗎整個composer.json文件與您的解決方案?我不知道如何做到這一點。我需要將''ajbdev/requirejs「:」dev-master「'更改爲''ajbdev/requirejs」:「」'? – GarouDan

+0

我試着執行你的代碼,但作曲家仍然要求一個版本。但是,這怎麼能幫助我獲得'require.js'文件? – GarouDan

+0

當作曲家要求版本時,您可能只需要回答dev-master。您將獲得的不僅僅是require.js文件,但它不足以解決您的問題嗎? –

相關問題