Назад | Перейти на главную страницу

Ubuntu, программа в настоящее время не установлена

У меня Ubuntu 10.04.4.

Скачал и установил scala (архив .tgz), распаковал в / opt, выставил права на чтение и выполнение в bin для всех пользователей. Также обновлен PATH в /etc/environment

Когда я запускаю программу только с scala команда, хотя имя заполняется автоматически, она не запускается:

root@ubuntu:/home/user# scala
  The program 'scala' is currently not installed.  You can install it by typing:
  apt-get install scala

Но если я использую полный путь к исполняемому файлу, он работает.

Исполняемые файлы из scala / bin находятся в PATH (работает автозаполнение). Что я делаю не так?

root@ubuntu:/home/user# which scala
root@ubuntu:/home/user# whereis scala
scala: /opt/scala-2.9.2/bin/scala /opt/scala-2.9.2/bin/scala.bat /opt/scala/bin/scala /opt/scala/bin/scala.bat
root@ubuntu:/home/user# echo $PATH
${SCALA_HOME}/bin:${JAVA_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
root@ubuntu:/home/user# echo $SCALA_HOME
/opt/scala

root@ubuntu:/home/user# cat /etc/environment 
JAVA_HOME="/usr/lib/jvm/java-7-oracle"
SCALA_HOME="/opt/scala"
PATH=${SCALA_HOME}/bin:${JAVA_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Ваш оператор PATH выглядит неправильно, учитывая ваш вывод:

root@ubuntu:/home/user# echo $PATH
${SCALA_HOME}/bin:${JAVA_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

В ${SCALA_HOME} должен был расшириться там.

Что вы добавили к своему /etc/environment?

Обновить:

Ах хорошо. / etc / environment не обрабатывается оболочкой, поэтому расширения переменных, как вы пытаетесь в своем PATH, не будут работать там. Он ожидает только пары ключ-значение.

Поместите обновленный PATH в /etc/profile или что-то подобное. Вы должны иметь возможность сохранить свои настройки $ SCALA_HOME и $ JAVA_HOME в /etc/environmentхотя, но расширение переменной там не работает.

(Аналогичный вопрос: https://askubuntu.com/questions/78856/referencing-environment-variables-in-etc-environment)

Вам нужно добавить /opt/scala/bin на ваш $PATH. Судя по пути, ваш Scala установка, вероятно, была скомпилирована из исходного кода, а не установлена ​​с помощью управления пакетами Ubuntu (apt/dpkg).