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
2 ответа
Ваше утверждение 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, там не будут работать. Он ожидает только пары ключ-значение.
Поместите ваш обновленный путь в /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).