gpt4 book ai didi

laravel - Composer 未安装本地包依赖项

转载 作者:行者123 更新时间:2023-12-02 17:16:53 25 4
gpt4 key购买 nike

在我的 Laravel 5.4 composer.json 文件中,我有以下自动加载我的自定义包的内容。请注意,此包未发布,正在本地加载。

"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/",
"Vendor\\Module\\": "packages/vendor/module/src"
}
},

然后在我的包 composer.json 文件中有以下内容

{
"name": "vendor/module",
"description": "A custom package",
"version": "1.0.0",
"type": "project",
"authors": [
],
"minimum-stability": "dev",
"require": {
"laravelcollective/html": "^5.4.0"
}
}

但是,当我从 Laravel 根目录运行 composer install 时,它永远不会选择我需要的 laravelcollective/html 包。

有没有办法加载未发布的本地包的依赖项?

最佳答案

我相信我找到了一个解决方案,虽然它可能不是本地包开发的最佳方法,但它对我很有效。

在根 composer.json 文件中,我添加了以下内容并从 应用程序的根目录 运行 composer update 现在似乎获取了包及其依赖项并将所有内容安装到根应用程序的主供应商目录中。

"repositories": [
{
"type": "path",
"url": "packages/vendor/module"
}
],
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7",
"vendor/module": "1.0.*"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/",
"Vendor\\Module\\": "packages/vendor/module/src"
}
},

这种方法的好处是它只为自定义包创建一个符号链接(symbolic link),因此您可以继续在包目录中编写更新,并且更改将生效,而不必提交到本地 git 存储库,如果您在 composer.json 的存储库字段中将类型设置为 vcs

我还必须在 require-dev 字段中指定 version number 以便它通过版本约束,否则你会收到一个警告,说包没有运行 composer 时满足最低版本要求。

关于laravel - Composer 未安装本地包依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45870095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com