我是 Ubuntu 新手!
我正在尝试通过将 Maven 目录添加到 来手动设置 Maven $PATH
。我.bash_profile
在目录中创建了文件home
。该文件包含以下内容:
export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH
然后在终端上,运行
source .bash_profile
一切正常,运行后我可以看到版本mvn -version
。但重新启动笔记本电脑后,运行mvn
出现以下错误:
The program 'mvn' can be found in the following packages:
* maven
* maven2
Try: sudo apt-get install <selected package>
你能告诉我我遗漏了什么吗?任何帮助都是合适的!
编辑1
的输出echo $PATH
为:
tuandang@Inspiron-N4030:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
答案1
首先请注意,将环境添加到.bash_profile
不是其他答案中指出的临时方法,但您的问题是在不合适的位置添加,因为.bash_profile
当您从控制台登录时会调用,我不认为您遇到这种情况。请阅读其余内容并找到您的解决方案:
引自http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html:
当您通过控制台登录(输入用户名和密码)时,无论是坐在机器上,还是通过 ssh 远程登录:在初始命令提示符之前执行 .bash_profile 来配置您的 shell。
但是,如果您已经登录到您的计算机并在 Gnome 或 KDE 内打开一个新的终端窗口(xterm),那么 .bashrc 会在窗口命令提示符之前执行。当您通过在终端中键入 /bin/bash 来启动新的 bash 实例时,也会运行 .bashrc。
因此,我假设您已登录并从内部使用终端,那么您应该使用 .bashrc。运行此命令:
echo 'export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH' >>~/.bashrc
然后获取它:
source .bashrc
欲了解更多信息,请阅读这
如果你希望变量在 .bash_profile 中使用,也可以使用这个技巧。将所有变量添加到 中,.bashrc
然后从 中获取.bash_profile
。将其添加到你的bash_profile
:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
现在,当您从控制台或 GUI 登录到系统时,您都会获得您的环境。
答案2
您可以将 PATH 添加到 ~/.profile
~./bash_profile 不会影响您登录系统后启动的终端仿真器(如 gnome-terminal)。
作为一个选项,您可以在 /etc/environment 中全局设置 PATH。
答案3
Maythux 是正确的,该变量被声明为本地变量,但是为了使系统将其视为全局变量,必须将其导出。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
也可以在 .bash_profile 中用于获取 $HOME/.bashrc