我有Ubuntu 10.04.4。
我下载并安装了scala(.tgz压缩包),解压到/ opt中,为所有用户设置读取和执行的权限。 还在/etc/environment更新了PATH
当我使用scala命令运行程序时,虽然名称是自动完成的,但不会运行:
root@ubuntu:/home/user# scala The program 'scala' is currently not installed. You can install it by typing: apt-get install scala
但是,如果我使用完整path来执行它的作品。
从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不是由shell处理的,所以可变扩展,就像你在PATH中尝试的那样,将不会在那里工作。 它只是期望键值对。
把你的更新PATH到/etc/profile或类似的东西。 你应该可以在/etc/environment保存你的$ SCALA_HOME和$ JAVA_HOME设置,但是variables扩展在那里不起作用。
(类似的问题: https : //askubuntu.com/questions/78856/referencing-environment-variables-in-etc-environment )
您需要将/opt/scala/bin添加到$PATH 。 从path来看,你的Scala安装可能是从源代码编译的,而不是使用Ubuntu的软件包pipe理( apt / dpkg )安装的。