• 遇到的坑--环境变量


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

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

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

      通过cmd查看环境变量,直接输入 path即可,如下所示:

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

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

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

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

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

      第三步:这时知道了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的版本如下:

        

         小技巧:

      1.在cmd中快速查看Path,只需输入set,即可,如下所示:

    我们可以看到最长的那一行就是Path了。

      然而更简便的方法是 set Path,这样就只会显示一条Path信息了,如下所示:

      当然也可以是set其他的,如set OS可以得到操作系统的名称。

      

      更为重要的是,我们还可以直接在cmd中添加Path,方法是“set 变量名=%变量名%;变量内容”。如,为Path添加一个新的路径,输入“ set Path=%path%;d:”即可将d:添加到path中。如下所示


     

     这时我们已经可以看到d:被添加进入了。这方面的更多知识可以看这篇文章

      

  • 相关阅读:
    php CodeIgniter处理多环境错误级别配置
    bootstrap导航条在手机上默认展开二级目录,必须用setTimeout才能实现
    WordPress博客网站fonts.useso加载慢解决办法
    JS实现复制网页内容自动加入版权内容代码和原文链接
    bootstrap实现 手机端滑动效果,滑动到下一页,jgestures.js插件
    mysql字段varchar区分大小写utf8_bin、utf8_general_ci编码区别
    js捕捉IE窗口失去焦点事件,判断离开页面刷新或关闭的方法
    php防盗链,php ci在control里面控制除了自己站内的链接点击跳转,其他来源的都跳到站内页面
    php原子操作,文件锁flock,数据库事务
    默认只显示指定高度,出来按钮 阅读更多,加载全文,点击后显示全文的实现方式
  • 原文地址:https://www.cnblogs.com/zhuzhenwei918/p/6336874.html
Copyright © 2020-2023  润新知