首页 > 解决方案 > 新星工具不更新

问题描述

我正在制作一个 Laravel Nova 应用程序。我正在尝试创建一个 Nova Tool 来导入用户。该工具创建得很好,但是当我更新它不显示的代码时。

我对此进行了深入研究,问题似乎是 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()
        ];
    }

我的作曲家文件:

"require": {
    "Vrumona/UserImport": "*"
},
"repositories": [
      {
          "type": "path",
          "url": "./nova"
      },
      {
          "type": "path",
          "url": "./nova-components/UserImport"
      }
  ],

如何确保工具在作曲家供应商文件夹中得到更新?

我可以删除供应商文件夹并运行 composer install,但这在开发时有点乏味。

谢谢!

标签: laravel

解决方案


作曲家很可能不是对包进行符号链接,而是在镜像。您可以通过查看运行时的输出来确认composer update- 如果您看到Mirrored from ...则符号链接不可用,这将导致您看到的问题。

正如您所注意到的,您可以使用以下命令在 composer 文件中强制使用符号链接:

"options": {
    "symlink": true // Will force symlinks
}

如果需要,相关文档:https ://getcomposer.org/doc/05-repositories.md#path


推荐阅读