Flatpak Intellij Idea - 颠覆可执行文件的问题
Flatpak Intellij Idea - problem with subversion executable
在 Clear Linux 上使用 flatpak 安装 Intellij Idea 后,我无法使其 运行 svn
可执行。
我将 ---filesystem=host
添加到 flatpak 权限并尝试将可执行路径设置为 /run/host/usr/bin/svn
但没有成功(路径是 available/exists,尽管 Intellij 一直抱怨)
svn
命令通常可从系统终端获得。
当我尝试通过 Intellij Idea 内置终端执行 运行 /run/host/usr/bin/svn
命令时,出现库不可用的错误:
sh-5.0$/run/host/usr/bin/svn
/run/host/usr/bin/svn:加载共享库时出错:libsvn_client-1.so.0:无法打开共享对象文件:没有这样的文件或目录
我也试过设置 flatpak-spawn
。以下命令在 Intellij Idea 内置终端中运行良好:
/usr/bin/flatpak-spawn --host /usr/bin/svn
,虽然当设置为 svn
可执行文件的路径时仍然给我 Intellij Idea 错误:
"The path to Subversion executable is probably wrong"
有人可以帮忙让它工作吗?
TLDR:您可能需要将 svn 的路径添加到您的 IntelliJ 终端路径中。
详情:
看起来你遇到了路径问题。我有一个类似的问题 运行ning kubectl 运行ning PyCharm 从 Pop_Os.
上的 flatpak 安装
如果我尝试 运行 kubectl,我会看到以下内容:
我在 /usr/local/bin 中安装了 kubectl。这是我的 'normal' 终端的屏幕截图。
在 PyCharm 终端中,此位置安装在 /运行/host/usr/local/bin/ 下。
如果我在 PyCharm 终端查看我的路径,它不在那里。
所以我会将 /运行/host/usr/local/bin/ 添加到我的路径,然后我可以 运行 kubectl:
为了确保它始终出现,我需要将 PATH 添加到终端设置中:
我现在可以执行 /usr/local/bin 目录中的任何命令。
我找到了一个非常丑陋的解决方案来处理 JetBrains 系列的 SVN,它确实回答了这个问题。但是以一种非常迂回的方式。不幸的是,Alex Nelson 的解决方案对我不起作用。
您会认为 Flatpak 会附带一个有效的 SVN,因为它实际上是程序预期要求的一部分...
在终端中,您可以运行
cd ..
/usr/bin/flatpak-spawn --host vim ./svn
然后按 i 进入输入模式,然后将以下内容粘贴到打开的文本文件中(基本上它所做的是创建一个可执行文件并将其传递给 flatpak-spawn 调用):
#!/bin/bash
/usr/bin/flatpak-spawn --host /usr/bin/svn $@
从 vim 保存并退出(ESC,然后 :wq!)。使其可执行:
chmod +x svn
然后在 IntelliJ 的菜单中,将“svn 路径”设置为
/home/<yourusername>/IdeaProjects/svn
它对我尝试过的一切都有效...希望这能帮助其他正在为此苦苦挣扎的人。
我正在使用与 caluga 类似的解决方案。
#!/bin/sh
cd
exec /usr/bin/env -- flatpak-spawn --host /usr/bin/env -- svn "$@"
exec
使其替换包装脚本进程,以便包装脚本进程可以结束。
- 我正在使用
/bin/sh
而不是 /bin/bash
,因为不需要 bash 功能。
- 使用
/usr/bin/env
,但如果 PATH 设置正确,则可能不需要。
- 如果参数中有空格,请记住引用“$@”。
我将它放在 ~/.local/bin
中并在 IntelliJ 设置中用它的绝对路径引用它(设置 -> 版本控制 -> Subversion -> Subversion 可执行文件的路径)。
我也 运行 遇到问题,IntelliJ 说 /app/idea-IC
路径不存在。发现 flatpak 之外的东西(即 svn
或 env
)试图将目录更改为调用包装器脚本的工作目录(在 flatpak 内部)。使用 cd
允许包装器脚本更改为既存在于 flatpak 内部又存在于主机上的目录。
Fedora Silverblue 或工具箱用户可能希望在他们的工具箱中使用开发工具,在这种情况下,您可以这样做:
#!/bin/sh
cd
exec /usr/bin/env -- flatpak-spawn --host toolbox run svn "$@"
在 Clear Linux 上使用 flatpak 安装 Intellij Idea 后,我无法使其 运行 svn
可执行。
我将 ---filesystem=host
添加到 flatpak 权限并尝试将可执行路径设置为 /run/host/usr/bin/svn
但没有成功(路径是 available/exists,尽管 Intellij 一直抱怨)
svn
命令通常可从系统终端获得。
当我尝试通过 Intellij Idea 内置终端执行 运行 /run/host/usr/bin/svn
命令时,出现库不可用的错误:
sh-5.0$/run/host/usr/bin/svn /run/host/usr/bin/svn:加载共享库时出错:libsvn_client-1.so.0:无法打开共享对象文件:没有这样的文件或目录
我也试过设置 flatpak-spawn
。以下命令在 Intellij Idea 内置终端中运行良好:
/usr/bin/flatpak-spawn --host /usr/bin/svn
,虽然当设置为 svn
可执行文件的路径时仍然给我 Intellij Idea 错误:
"The path to Subversion executable is probably wrong"
有人可以帮忙让它工作吗?
TLDR:您可能需要将 svn 的路径添加到您的 IntelliJ 终端路径中。
详情: 看起来你遇到了路径问题。我有一个类似的问题 运行ning kubectl 运行ning PyCharm 从 Pop_Os.
上的 flatpak 安装如果我尝试 运行 kubectl,我会看到以下内容:
我在 /usr/local/bin 中安装了 kubectl。这是我的 'normal' 终端的屏幕截图。
在 PyCharm 终端中,此位置安装在 /运行/host/usr/local/bin/ 下。
如果我在 PyCharm 终端查看我的路径,它不在那里。
所以我会将 /运行/host/usr/local/bin/ 添加到我的路径,然后我可以 运行 kubectl:
为了确保它始终出现,我需要将 PATH 添加到终端设置中:
我现在可以执行 /usr/local/bin 目录中的任何命令。
我找到了一个非常丑陋的解决方案来处理 JetBrains 系列的 SVN,它确实回答了这个问题。但是以一种非常迂回的方式。不幸的是,Alex Nelson 的解决方案对我不起作用。
您会认为 Flatpak 会附带一个有效的 SVN,因为它实际上是程序预期要求的一部分...
在终端中,您可以运行
cd ..
/usr/bin/flatpak-spawn --host vim ./svn
然后按 i 进入输入模式,然后将以下内容粘贴到打开的文本文件中(基本上它所做的是创建一个可执行文件并将其传递给 flatpak-spawn 调用):
#!/bin/bash
/usr/bin/flatpak-spawn --host /usr/bin/svn $@
从 vim 保存并退出(ESC,然后 :wq!)。使其可执行:
chmod +x svn
然后在 IntelliJ 的菜单中,将“svn 路径”设置为
/home/<yourusername>/IdeaProjects/svn
它对我尝试过的一切都有效...希望这能帮助其他正在为此苦苦挣扎的人。
我正在使用与 caluga 类似的解决方案。
#!/bin/sh
cd
exec /usr/bin/env -- flatpak-spawn --host /usr/bin/env -- svn "$@"
exec
使其替换包装脚本进程,以便包装脚本进程可以结束。- 我正在使用
/bin/sh
而不是/bin/bash
,因为不需要 bash 功能。 - 使用
/usr/bin/env
,但如果 PATH 设置正确,则可能不需要。 - 如果参数中有空格,请记住引用“$@”。
我将它放在 ~/.local/bin
中并在 IntelliJ 设置中用它的绝对路径引用它(设置 -> 版本控制 -> Subversion -> Subversion 可执行文件的路径)。
我也 运行 遇到问题,IntelliJ 说 /app/idea-IC
路径不存在。发现 flatpak 之外的东西(即 svn
或 env
)试图将目录更改为调用包装器脚本的工作目录(在 flatpak 内部)。使用 cd
允许包装器脚本更改为既存在于 flatpak 内部又存在于主机上的目录。
Fedora Silverblue 或工具箱用户可能希望在他们的工具箱中使用开发工具,在这种情况下,您可以这样做:
#!/bin/sh
cd
exec /usr/bin/env -- flatpak-spawn --host toolbox run svn "$@"