在 PhpStorm 中配置远程 (WSL) Composer

Configuring Remote (WSL) Composer in PhpStorm

我正在尝试配置 PhpStorm 项目以同时使用远程 PHP 和远程 Composer。远程是我的 Windows 子系统 Linux (WSL) 安装。但是,当我从 PhpStorm 启动任何 Composer 命令时,我收到错误。不幸的是,这些错误并不能很好地说明原因或提供 link 以获取更多详细信息。

我的“事件日志”中收到的错误:

12:21 PM    Composer
Failed to install packages for  ./composer.json.
Show in Log

在我的“作曲日志”中:

install --no-interaction --no-ansi
/bin/sh: 1: composer: not found
Failed to install packages for  ./composer.json.

到目前为止,我已按照位于:

的说明进行操作

https://www.jetbrains.com/help/phpstorm/how-to-use-wsl-development-environment-in-product.html

https://www.jetbrains.com/help/phpstorm/configuring-remote-interpreters.html

我也按照这个 post 的答案将 WSL 设置为我的默认终端:

在我的 WSL 安装中,composer 位于 /home/<user>/.local/bin/composer 并且在我的 /home/<user>/.profile 文件中登录时包含在我的路径中。并且我确定在这样做之后重新启动 PhpStorm 以确保它具有更新的路径。此外,运行 composer install 在我的项目中,在 WSL 上工作没有问题。

我不确定如何确定 PhpStorm 使用的是哪个终端或编辑器文件。要么它仍在尝试在我的主机 Windows 安装(不存在)上查找和使用作曲家,要么我缺少必须为 WSL 映射的路径。

知道如何获得有关我配置错误的更多详细信息吗?

我解决了我的问题。

在设置 -> PHP -> Composer 中,在“执行”部分。我已经选择了“Remote Interpreter”,但是“Composer executable”字段需要一个绝对路径。我只是提供可执行文件的名称,因为该字段要求可执行文件。

我只是想它会利用我的 $PATH 来解析可执行文件,但这没有使用 SSH 会话,所以它不会有我的自定义 $PATH 值。所以这一切都是有道理的。