雖然@Antonio卡洛斯·裏貝羅的答案是非常好的,我有問題,安裝定製的軟件包本地
假設這個(這是他的回答的最後部分還稱)是我們想要的包目錄結構安裝:
D:/test_pack
src/
composer.json
如果您不希望您的自定義程序包(最有可能你開發,你自己)上傳到在線儲存庫,你可以使用以下兩種方法之一:
方法I
(你必須爲你的包指定版本,否則你會得到這個錯誤:請求的包不能在任何版本中找到,有可能是在包裝的名稱拼寫錯誤。)
1)在composer.json中,將版本添加到您的包中。你的包的JSON應該是這個樣子:
{
"name": "gandalf/test_pack",//This is your package's name
"description": "some desc",
"version": "1.0.0",//This is the version that you have to specify
"authors": [
{
"name": "gandalf the grey",
"email": "[email protected]"
}
],
"minimum-stability": "dev",
"require": {
"laravel/framework": "~5.4"
},
"autoload": {
"psr-4": {
"Gandalf\\BotPack\\": "src/"
}
} }
2)壓縮您的包(假設壓縮文件是在d:/test_pack/test_packa.zip)
3)在laravel的composer.json加你的包名稱(在我們的例子中,gandalf/test_pack需要json的一部分),並將庫數組添加到composer.json文件,並在該數組中指定包的zip文件所在的目錄(在我們的例子中爲D:/ test_pack) 。這樣
{
...,
"require": {//adding our package name to laravel's composer.json
...,
"gandalf/test_pack": "*"//package's name
},
...,
"repositories": [
{
"type": "artifact",
"url": "D:/test_pack"
}
]
}
方法II(我最喜歡的方法,你必須初始化爲git的本地倉庫使用git init
然後git add .
和git commit -m "your message"
你的包目錄)
1)初始化爲git的目錄包目錄並將所有更改提交到本地存儲庫
(假設D:/test_pack
是包含您的包的目錄(src/
目錄和composer.json
) )
轉到D:/test_pack
目錄並運行這些命令
git init
git add .
git commit -m "your message for this commit"
2)在你的包composer.json
文件添加最低穩定性
{
"name": "gandalf/test_pack",
"description": "some desc",
"authors": [
{
"name": "gandalf the grey",
"email": "[email protected]"
}
],
"minimum-stability": "dev",//setting minimum-stability
"require": {
//dependencies that your package needs
},
"autoload": {
"psr-4": {
"Gandalf\\BotPack\\": "src/"
}
}
}
3)在laravel的作曲家。json文件需要你的包的「dev-master」
{
...,
"require": {
...,//some dependencies that laravel needs
"gandalf/test_pack": "dev-master"//requiring dev-master from repository
},
"repositories": [
{
"type": "git",
"url": "D:/test_pack"//path of the local repository directory which contains your package
}
]
}
我們需要更多的信息。這個包是什麼?這只是一堆你複製到你的供應商的文件,或者是存儲在你可以下載的服務器中的東西?它是否有作曲家包裝結構?誰創建了這個包?你可以把它作爲一個作曲家包裝並存放在家裏嗎?你能否至少向我們展示這個包的目錄結構? –
爲什麼在供應商文件夾中有一個非composer包? –
你會推薦將它移動到應用程序/供應商或類似的?現在我會更新這個問題,關於其他事情。 –