'gulp'不是内部或者外部命令,也不是可运行的程序或批处理文件

2017-12-01 09:44:21

相信不少菜鸟初用nodejs时候装插件会碰到这种情况,搜索相关文章和请求很多端友未果,而且很多人也不清楚具体该怎么做,经过长时间询问才解决,最后总结一下,希望可以帮助到此问题端友,我这个是安装gulp的时候出现的问题,其它插件这种问题我不清楚怎么解决,你可以效仿此做法尝试解决一下

nodejs安装、查看版本正常,npm安装、查看版本正常

gulp安装也正常,但是就是查看gulp -v的时候报错,原因:缺少系统变量PATH或者PATH变量错误(我这个是因为曾经不懂,手贱修改系统变量PATH的时候把原有的删掉了)

提示:这个系统变量PATH,直接追加就好(多个变量值用分号;隔开),不要删除已经有的系统变量PATH,否则以后有你受的,我就是开始不知道这个,手贱删除了已有变量,导致每次都提示这个

这个变量怎么找?有三种方法可以找到,或许还有其它方法可以找到,自己选择一种喜欢的方式就好(前提一定是全局安装过gulp才行)

第一种方法:

在dos下输入  

1
npm config get prefix

 就会显示一个地址,这个地址就是那个系统变量PATH

第二种方法:

在dos下输入  

1
npm config list

这个返回的是一个多数据,自行找到prefix属性,等号后面的值就是系统变量PATH(一会添加的时候把里面的\\改成\)

第三种方法:

就是自己手动找node_global全局文件路径,根据自己安装nodejs时候文件的位置,找到node_global的位置,这个路径就是系统变量PATH

 

通过上面三种方法相信你已经找到这个系统变量PATH了,下面请看怎么修改它,具体这个系统变量PATH是什么,我只是个菜鸟,我也说不清,我只能告诉你怎么去修改。

我的系统系windows7,其它系统请自行解决哦。 
1、桌面->计算机(右击)->属性->高级系统设置 -> 高级->环境变量 

2、下面部分是系统变量,在下面部分找到Path变量,双击这个变量即可修改,变量值修改成刚才找到的系统变量PATH即可,修改完毕点确认

3、修改完系统变量PATH之后,一定要重启dos窗口才行,简单来说就是把cmd运行的黑窗口关掉,从新打开运行一下 。

如果安装文字还是不会找系统变量PATH,可以根据下面的图片步骤操作,找到的请忽略下面图片操作。最后,若文章有错误或者建议,可以留言,本人就是因为这个报错的问题找了很久都没解决,所以总结一下,希望可以帮助到和我一样菜鸟的前端,快速解决问题,节省时间。


  • 2020-01-06 23:02:42

    Updating Homebrew... 更新了镜像依然卡死

    使用brew install [软件包]安装软件包时,卡在Updating Homebrew... 或输入`brew update`更新brew,半天没反应.产生原因一般是在国内访问官方 更新源获取资源太慢,解决方案可以采用更换国内镜像更新源.

  • 2020-01-07 10:06:00

    vue重定向beforeRouterEnter与replace的使用

    一个登录页面,只有第一次才会出现,一旦出现过,以后再也不会出现,即使是输入该页面的url也不会跳转到该页面,只会跳转到指定的其他页面;

  • 2020-01-07 10:14:07

    vue强制刷新组件 销毁和重建

    很多时候,通过重置数据将页面重置时,子组件可以提供重置的方法,或者提供props重置自己的状态。但是相对麻烦,那可以使用强制刷新来实现刷新组件。

  • 2020-01-07 10:17:42

    vue钩子函数beforeRouteUpdate没有反应

    由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 可以访问组件实例 `this`

  • 2020-01-08 13:23:24

    vue 中使用eventbus

    为了提高组件的独立性和重用性,父组件会通过props向下传数据给子组件,当子组件又事情要告诉父组件时用通过$emit事件告诉父组件,如此确保每个组件都是独立在相对隔离的环境中运行,可以大幅度提高组件的可维护性

  • 2020-01-08 13:30:30

    vue中eventbus被多次触发(vue中使用eventbus踩过的坑)

    一开始的需求是这样子的,我为了实现两个页面组件之间的数据传递,假设我有页面A,点击页面A上的某一个按钮之后,页面会自动跳转到页面B,同时我希望将页面A上的某一些参数携带过去给页面B。 然后我就想,这不就是不同组件之间的数据传递问题而已吗?直接用bus 巴士事件来传递数据不就行了吗。于是,我就很愉快地进行了。关于vue中的eventbus的使用,我之前在一篇vue中的数据传递中有提到过。