无法在 linux 上的路径中 运行 jar 可执行文件
Unable to run jar executable in path on linux
我按照repository上的说明安装了clojure-lsp,并将jar放在/usr/bin
.
我的问题是当我 运行 clojure-lsp
时出现错误 Error: Unable to access jarfile clojure-lsp
,但是当我 运行 使用 sudo 时它似乎有效。
这是我对可执行文件的权限:
-rwxr-xr-x 1 root root 20822380 Oct 15 11:05 /usr/bin/clojure-lsp
我做错了什么?
我 10 分钟前在我的 arch linux 盒子上安装了 clojure-lsp jar。以 root sudo -s
身份安装它,并且在我第一次使用 运行 之前忘记退出 root 环境。有效!在那之后,我意识到我的失败并退出了 root。然后我再次 运行 它并失败 "can not access /tmp/lsp.out permission denied"。显而易见的解决方案是可执行文件在 /tmp 中创建了一个具有 root 权限的文件。我删除了这个文件并重新启动,一切顺利。
这与您的观察结果不同,但也许它能为您提供线索。我不知道你第一次开始安装的条件,我也不知道你的 OS 设置,所以很难提供帮助。
也许您已经开启了内核安全(例如 apparmor,...)。 ??
clojure-lsp 既是脚本又是 jar 文件。它在内部开始 java。此 java 在路径 $0/closure-lsp 中打开一个 jar 文件(/usr/bin/closure-lsp 在你的特殊情况下)。我会以 Java 无法访问该文件的方式来解释报告的错误。也许 java 无法访问 /usr/bin。但那将是非常 st运行ge.
您是否 运行 来自 bash / 其他 shell 的 closure-lsp。您是否安装了 java 并且在您的 PATH 中? (java -version
应该有效)
我按照repository上的说明安装了clojure-lsp,并将jar放在/usr/bin
.
我的问题是当我 运行 clojure-lsp
时出现错误 Error: Unable to access jarfile clojure-lsp
,但是当我 运行 使用 sudo 时它似乎有效。
这是我对可执行文件的权限:
-rwxr-xr-x 1 root root 20822380 Oct 15 11:05 /usr/bin/clojure-lsp
我做错了什么?
我 10 分钟前在我的 arch linux 盒子上安装了 clojure-lsp jar。以 root sudo -s
身份安装它,并且在我第一次使用 运行 之前忘记退出 root 环境。有效!在那之后,我意识到我的失败并退出了 root。然后我再次 运行 它并失败 "can not access /tmp/lsp.out permission denied"。显而易见的解决方案是可执行文件在 /tmp 中创建了一个具有 root 权限的文件。我删除了这个文件并重新启动,一切顺利。
这与您的观察结果不同,但也许它能为您提供线索。我不知道你第一次开始安装的条件,我也不知道你的 OS 设置,所以很难提供帮助。
也许您已经开启了内核安全(例如 apparmor,...)。 ??
clojure-lsp 既是脚本又是 jar 文件。它在内部开始 java。此 java 在路径 $0/closure-lsp 中打开一个 jar 文件(/usr/bin/closure-lsp 在你的特殊情况下)。我会以 Java 无法访问该文件的方式来解释报告的错误。也许 java 无法访问 /usr/bin。但那将是非常 st运行ge.
您是否 运行 来自 bash / 其他 shell 的 closure-lsp。您是否安装了 java 并且在您的 PATH 中? (java -version
应该有效)