首页 > 其他 > 详细

遇到的坑--环境变量

时间:2017-01-21 13:54:01      阅读:268      评论:0      收藏:0      [点我收藏+]

  在使用cmd时,虽然我确实安装了响应的软件或插件或命令,但是却提示“不是内部或外部命令,也不是可运行的程序”。网上的答案也是千奇百怪,于是这里做一个详细说明。

  首先,因明确这是环境变量的问题,什么时环境变量呢? 

  环境变量  环境是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量来更好的运行进程。更简单的一种理解是:我是老大,我让你去找张三过来给我做事,但是没告诉你他在哪,于是你就在我们这一带去找,可是不一定找的到啊,找到了好说,你把他带来给我交差;找不到呢?你就回来告诉我说找不到。那么更好的办法是什么呢?当然是我告诉你一个他所在的地方,你再去找,这样一下就能找到了。 

  另外,环境变量一般分为用户环境变量和系统环境变量,用户环境变量只对当前用户起作用,而系统环境变量是对这台电脑上的所有用户都起作用,一般我们直接设置系统环境变量就好。

  而dos操作往往与环境变量有莫大的关系。我们经常用的用于检测网络状况的ping命令就是如此。下面举例我们进行实战!(大家看看就好,如果不熟悉就不要跟着我的步子走了,以免出现错误。

  第一步:windows+R,输入cmd,在输入ping www.baidu.com,(实际上ping就是这样依赖于环境变量的命令)结果如下所示:
技术分享

  第二步:windows+r,输入control,进入控制面板,进入系统,进入高级系统设置,这时弹出了系统属性框,在点击tab选项卡中的高级,点击其中的环境变量,这时显示了用户的环境变量和系统的环境变量,一般我们只在意系统的环境变量,找到系统环境变量中的PATH,选中后,点击删除,然后点击确定。这时在按照第一步的方法,我们看到输出如下所示:
技术分享

  为什么第一次没有ping通并提示“‘ping‘不是内部或外部命令,也不是可运行的程序批处理文件”呢? 这正是因为ping命令并不处于C:\Users\Administrator中,并且刚刚我把环境变量中的Path删除,所以它就找不到ping命令了(这时拐过头看我在文章开始提到的例子)。然后我又进入了C:\Windows\System32中,这时又ping了以下,ping通了,这是因为虽然我没给Path,但是他会在当前文件夹下寻找,并且在本地还找到了,所以也就ping成功了。 那么也就是说,ping命令是处于C:\Windows\System32中的。我们去找一下,发现的确如此,如下所示:
技术分享

  第三步:这时知道了Path路径,那我们只要把这个路径添加到系统变量中即可,如第二步中的步骤所示,我们先进入系统变量,发现刚刚被我删掉的Path已经没有了,这时就需要手动去创建了,创建的过程如下:
技术分享

  这时我们再去ping,发现已经可以ping通了。

 

  讲道理,在我们正确安装了命令、包或应用程序之后如果无法正确执行,并提示“不是内部或外部命令,也不是可运行的程序或批处理文件。的错误我们都可以使用这种方法来解决,即首先找到该命令(或包、或应用程序)之后,将该路径追加到Path下,注意一定是追加,而不要重新创建,否则他会覆盖掉之前的Path。

  下面我们再举一个nodejs环境的例子。

  第一步:首先我已经把nodejs自动创建的Path删除(注意:一般情况下,在安装了nodejs后其Path会自动创建,不需要人工添加,但是避免不了有时候出的各种bug啊!),但是该应用程序还是存在的,然后测试node的版本,结果如下所示:

  技术分享

  我们发现果然出现了这样的问题。

  第二步:我们可以通过右键nodejs应用程序选择打开文件所处的位置,确定node的安装路径,然后再cmd中测试,如下所示:
  技术分享

  第三步:就是将该路径添加到Path后面,方法如下:先选中Path,然后点击编辑(注意上一个的末尾要加分号):

     技术分享

  然后,我们在cmd中测试以下,结果如下:
技术分享

  第一个命令得到了node的版本,第二个命令进入了node的执行环境,我在其中输入了一条语句,且得到了执行。注意:一旦node安装完成,npm也就自动安装完成了。

  

  下面再举一个我在安装grunt时遇到的坑,就是安装好grunt-cli后,却无法使用grunt的命令。如下所示:

    第一步:在管理员权限下运行cmd,输入 npm install -g grunt-cli

    第二步:检测是否安装成功,即输入grunt,这时提示如下:

  技术分享

    第三步:我们已经安装了grunt,为什么还提示呢? 想必到这里大家都知道原因,我们进入系统环境变量,发现的确没有出现响应的Path,我们进行测试,如下所示:

技术分享

    可以看到,在上面的文件下,就已经可以使用了。

    第四步:追加Path;然后检测grunt的版本如下:
技术分享

    ok,本篇文章到这里就结束了!  

 

 

  

 

 

  

 

遇到的坑--环境变量

原文:http://www.cnblogs.com/zhuzhenwei918/p/6336874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!