Поэтому я установил Syntastic и JSHint для некоторой проверки синтаксиса Vim JavaScript.

который возвращает which jshint /home/myUser/local/bin/jshint

which vim и which gvim возвращают /usr/bin/vim и /usr /bin /gvim` соответственно.

Если я открываю JS файл из терминала myUser «s, Syntastic работает отлично -:SyntasticInfo возвращается

Syntastic version: 3.5.0-72
Info for filetype: javascript
Mode: active
Filetype javascript is active
Available checker: jshint
Currently enabled checker: jshint

Однако, если я открываю тот же файл с GVim, JSHint не загружается.

Syntastic version: 3.5.0-72
Info for filetype: javascript
Mode: active
Filetype javascript is active
Available checker: -
Currently enabled checker: -

Это имеет смысл, учитывая, что если я бегу :!which jshint из vim в терминале, я получаю путь, и если я запускаю его из GVim, я возвращаю shell returned 1 .

Я осмотрелся и заметил, что JsHint не загружается в командной строке Vim, если я sudo su root и затем запускаю vim . С другой стороны , JSHint загружается , если я открываю GVim как мой текущий пользователь gksudo -u uname -l "gvim"

Я предполагаю, что это означает, что мне как-то нужно получить /home/myUser/local/bin/jshint в моем корневом каталоге $PATH , но я не знаю, возможно ли это или рекомендуется.

1 ответ1

0

PATH не является глобальной переменной оболочки, которую следует ожидать одинаковой для всех пользователей. Вы могли бы сделать это, но это было бы бессмысленно: если вы хотите, чтобы какая-либо программа могла использоваться каждым пользователем, установите ее как root.

И… root используется для административных задач, а не для реальной работы (если вы не являетесь системным администратором, но не являетесь пользователем), поэтому не работайте как root.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .