Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Почему разные терминалы могут отображать разный PATH?  (Прочитано 1296 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Kadenza

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Установил Node.js - скачал архив для Linux с официального сайта. Распаковал по инструкции и добавил путь в PATH. С основного терминала (gnome-terminal) Linux, node запускается, и я вижу путь в PATH. Работает с любого окружения /bin/sh и /bin/bash

А в любых других терминалах, например в VScode, PyCharm в Path путь до node не отображается. Запустить его не получается.
sh-5.1$ node
sh: node: команда не найдена

Такой же результат выдает команда:
sh-5.1$ sudo
sh: sudo: команда не найдена

Более того, я даже не могу зайти в папку с программой через другие терминалы. Node установлен по пути /usr/local/lib/nodejs Но другие терминалы (VScode, PyCharm) не видят папку local

Я пробовал добавить путь в environment, так же путь прописан в profile

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3549
  • Ubuntu 24.04 х64
    • Просмотр профиля
Начнем с минимума:
bash = bash и при использовании он "прокидывает" переменные в sh
sh = dash
А у него уже свое окружение

Итого:
Или писать полные пути к файлам, или...
Хотя о чем мы говорим, если что-то запускается с sudo в среде разработки. сами наломали, сами правьте
HP Pro 840G6: Intel i5-8265U, 32GB DDR4, Intel 620, Crucial 256GB / CachyOS
HP Pro 840G6: Intel i5-8365U, 64GB DDR4, Intel 620, Samsung 990Pro 1TB / Ubuntu 24.04

Оффлайн Kadenza

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Спасибо за ответ, почитаю про bash и sh. sudo я не использую при разработке, просто решил проверить доступна ли эта команда (из терминала Vs Code например) просто стандартные команды типо ls и cd работают. Подумал, что возможно другие терминалы запускаются с ограничениями.

Полные пути писать можно, но тогда уже проще пользоваться внешним терминалом, пока так и делаю.

Просто хочется узнать причину или возможные причины, а то даже не понимаю чего гуглить(
Опыта с Linux мало

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8359
    • Просмотр профиля
На то она и переменная.
В принципе, любая программа может переопределить ее, задать для своего окружения: PATH='', и вот она уже ничего не знает о других программах.

 

Страница сгенерирована за 0.406 секунд. Запросов: 21.