看起來好像沒有辦法在Composer中很好地做到這一點,然而它有可能破解它。
在您的composer.json文件中發表評論,您想在某些數據中進行破解。
{
"name": "base-reality/intahwebz",
"//": "LOCALHACK",
"require":{
"base-reality/php-to-javascript": ">=0.1.17",
"guzzle/danackguzzle": "3.3.*@dev",
...
...
}
...
}
然後有一個包含本地目錄引用一個單獨的文件composer.local(不承諾GIT):
"LOCALHACK",
"repositories": [
{
"type": "vcs",
"url": "/documents/projects/github/intahwebz-core"
}
],
添加名爲composerLocal.php
一個小PHP腳本來生成新的composer.json文件
<?php
$srcFile = file_get_contents("composer.json");
$hackFile = file_get_contents("composer.local");
$finalString = str_replace('"LOCALHACK",', $hackFile, $srcFile);
file_put_contents("composer.json", $finalString);
?>
並號召localupdate.sh備份真正composer.json文件一點bash腳本,產生砍死composer.json,運行作曲,然後恢復原來composer.json文件
cp -f composer.json composer.json.bak
php composerLocal.php
composer update
cp -f composer.json.bak composer.json
運行localupdate.sh腳本允許你在本地測試提交,而無需修改該項目使用的實際composer.json文件的危險,所以有較少的意外機會將無效的composer.json推入存儲庫。
要注意的是,Composer不會讀取respository目錄中的文件,它會讀取Git中的提交文件,因此您需要提交對庫代碼所做的更改。上述過程只是跳過推動步驟。
我知道如何編輯composer.json文件。問題是「是否有告訴作曲家使用與composer.json不同的文件」,以避免編輯composer.json。 – Danack
對不起,錯過了解這個問題的重點。以爲你想編輯圖書館,讓作曲家讓他們獨處。 –