У меня 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
).