我有两个composer文件可以在每个环境中运行composer
"repositories": [
{
"type": "vcs",
"url": "https://github.com/igorhaf/laravel-admin"
}
],
"require": {
"php": "^7.2.5|^8.0",
"fideloper/proxy": "^4.4",
"guzzlehttp/guzzle": "^7.4",
"laravel/framework": "^7.0",
"laravel/telescope": "^3.0",
"laravel/tinker": "^2.5",
"encore/laravel-admin": "dev-master"
},发布于 2021-11-01 00:21:04
如果我清楚地了解您的用例,那么您开发的是自定义Laravel包,并且您不希望在本地测试它之前总是必须推送它。
绝对有它的用例。我个人使用它。使用这种方法,您的composer.json可以在本地和服务器上保持不变。不需要改变任何东西。
,,
composer global require franzl/studio,但这相当繁琐,因为您可能只在本地需要它。在项目根目录下运行
studio load path/to/your/local/vendor/directory/* (如果您想要目录中的所有包)或studio load path/to/your/local/package (对于单个包。您可以添加多个包)。这将在根目录下生成一个studio.json文件。例如:
{
"version": 2,
"paths": [
"path/to/local/vendor/directory/*",
"path/to/local/package"
]
}composer update时,composer都会首先查看您的studio.json文件并通过符号链接到本地软件包(如果可用),否则从远程存储库获取它。注意: i.请确保将studio.json添加到.gitignore中。二、在将代码推送到生产/服务器之前,还要删除studio.json中的路径,如下所示,并运行composer update生成新的composer.lock文件。否则,当您运行composer install时,服务器上的代码将在本地设置中查找符号链接中的包,并给出错误。
{
"version": 2,
"paths": [
]
}三、推送到服务端后,将studio.json恢复到初始状态,继续开发。在看到您的更改之前,无需推送到github/远程vcs。如果更改可用或从远程获取,则从本地对其进行符号链接。
四.在服务器上运行composer install。
别忘了把你的包推送到远程,否则你看不到服务器上的变化,虽然你在本地看到了。
https://stackoverflow.com/questions/69790005
复制相似问题