您的位置:

未找到命令原因及解决方案

一、未找到命令的定义

未找到命令是指在使用操作系统的命令行窗口或者终端时输入的命令不存在于当前系统或者环境变量中,从而导致系统无法识别和执行的情况。

例如,在Windows操作系统中,如果在命令行窗口中输入的命令无法找到,则系统将会给出"未找到命令"的错误提示。

二、未找到命令的原因

造成未找到命令的原因主要有以下几种情况:

1、命令不存在

当我们输入的命令不在当前的系统或者环境变量中时,系统会提示 "未找到命令"错误,这时需要确认所输入的命令是否正确或者是否拥有相应权限。

//举例:在 Ubuntu 20.04 中打开windows Explorer
sudo apt install nautilus
nautilus

2、环境变量问题

环境变量指的是系统中用于记录常用程序路径的设置,如果没有正确设置环境变量,系统将无法找到相关命令,在此时输入相应命令会提示“未找到命令”的错误。

//举例:设置java环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

3、文件缺失

如果所调用的命令是依赖于某些文件的,而这些文件却因为各种原因缺失时,系统也会提示相应的“未找到命令”错误。

//举例:克隆 github上的一个go项目
$ go get github.com/gorilla/mux

//$GOROOT/bin/go tool is missing. 可以查看下面的解决方案

三、未找到命令的解决方案

1、确认命令是否正确

当提示“未找到命令”时,首先需要确认所输入的命令是否正确。

2、检查环境变量

如果确定命令输入正确,那么就需要检查环境变量是否正确设置。 如果环境变量缺失或者不正确,就会导致系统找不到输入的命令。

方式一、手动设置环境变量

在Linux或者MacOS中可以通过编辑.bash_profile将环境变量手动设置到该文件中,修改后需要执行source .bash_profile 使其生效。

//举例:设置go环境变量,MacOS
vi ~/.bash_profile

//编辑修改如下
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin

//修改完毕之后运行
source ~/.bash_profile

方式二、使用环境变量管理工具

对于一些涉及多个开发环境的开发者,手动设置环境变量会产生一些麻烦。此时可以考虑使用一些环境变量管理工具,方便进行环境变量的添加、修改和删除。

3、安装所需的软件包或者依赖文件

如果提示“未找到命令”的错误是由于相关的软件包或者依赖文件缺失造成的,那么需要在安装完整后再次使用对应的命令。

四、总结

“未找到命令”这个错误在我们使用命令行窗口或者终端的时候经常会遇到,我们需要逐步排查错误的原因,并采取相应的解决方案。一般情况下,我们需要逐项确认输入的命令是否有误、环境变量设置是否正确以及相关的软件包或者依赖文件是否缺失。