【发布时间】:2018-02-02 20:04:52
【问题描述】:
在我的 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.lock 文件了吗?当您 composer install 时,composer.lock 文件用于拉取依赖项。听起来您需要作曲家更新?事实上,只要你更改了 composer.json 文件中的任何内容,你就需要 composer update。
-
没错,根应用程序确实已经有一个 composer.lock 文件。我应该删除锁定文件并再次运行 composer update 吗?
-
不只是运行作曲家更新。它会覆盖现有的。然后,您应该推送新的 composer.lock 文件,以便以后运行 composer install。
-
好的,我运行了 composer update 并没有说要安装或更新。所以它仍然没有在我的本地包中看到所需的依赖项。
标签: laravel composer-php laravel-5.4