我正在制作 Laravel Nova 应用程序。我正在尝试创建一个 Nova 工具来导入用户。 该工具创建得很好,但是当我更新代码时它不显示。
我对此进行了深入研究,问题似乎是 Vendor 文件夹中的工具没有更新。
当我执行 npm run dev 或 npm run prod 时,工具文件会在/nova-components/{componentname} 文件夹中更新,而不是在由 Nova 加载的 vendor 文件夹中。
我在 Windows 上使用 Xampp。 在我的 nova 服务提供商内部:
/**
* Get the tools that should be listed in the Nova sidebar.
*
* @return array
*/
public function tools()
{
return [
new UserImport()
];
}
我的 Composer 文件:
"require": {
"Vrumona/UserImport": "*"
},
"repositories": [
{
"type": "path",
"url": "./nova"
},
{
"type": "path",
"url": "./nova-components/UserImport"
}
],
如何确保工具在 composer vendor 文件夹中得到更新?
我可以删除 vendor 文件夹并运行 composer install,但这在开发时有点乏味。
谢谢!
最佳答案
很可能 composer 不是符号链接(symbolic link)包而是镜像。您可以通过查看运行 composer update
时的输出来确认——如果您看到 Mirrored from ...
则符号链接(symbolic link)不可用,这将导致您的问题重新看到。
正如您所注意到的,您可以使用以下命令在 Composer 文件中强制使用符号链接(symbolic link):
"options": {
"symlink": true // Will force symlinks
}
如果需要,还有相关文档:https://getcomposer.org/doc/05-repositories.md#path
关于laravel - Nova 工具未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53503521/