Невозможно запустить исполняемый файл JAR в пути в Linux - PullRequest
0 голосов
/ 15 октября 2019

Я установил clojure-lsp в соответствии с инструкциями в репозитории и поставил банку в /usr/bin.

Моя проблема в том, что я получаю ошибку Error: Unable to access jarfile clojure-lsp, когдаЯ запускаю clojure-lsp, но, кажется, он работает, когда я запускаю его с помощью sudo.

это разрешения, которые у меня есть для исполняемого файла:

-rwxr-xr-x 1 root root 20822380 Oct 15 11:05 /usr/bin/clojure-lsp

Что я делаю не так?

1 Ответ

1 голос
/ 15 октября 2019

Я установил банку clojure-lsp 10 минут назад на мою коробку с Linux. Установлен как root sudo -s и забыл выйти из корневой среды, прежде чем я запустил его в первый раз. Это сработало! После этого я признал свою неудачу и вышел из рута. Затем я запустил его снова, и это не удалось с «невозможно получить доступ к /tmp/lsp.out отказано». Очевидное решение состояло в том, что исполняемый файл создал файл в / tmp с правами root. Я удалил этот файл и перезапустил, и все прошло хорошо.

Это не то же самое наблюдение, что и у вас, но, возможно, оно даст вам подсказку. Я не знаю, в каких условиях вы запустили установку в первый раз, и я не знаю настройки вашей ОС, поэтому мне очень трудно помочь.

Возможно, вы включили безопасность ядра (например, apparmor, ...). ??

clojure-lsp - это и скрипт, и файл jar. Внутренне это начинает Java. Этот java открывает файл jar по пути $ 0 / closure-lsp (/ usr / bin / closure-lsp в вашем особом случае). Я бы интерпретировал сообщенную ошибку так, что у Java нет доступа к этому файлу. Возможно, у Java нет доступа к / usr / bin. Но это было бы очень странно.

Запускаете ли вы closure-lsp из оболочки bash / other. У вас установлена ​​Java и в вашем PATH? (java -version должно работать)

...