我在全局和本地都安装了gulp

npm install gulp
npm install gulp -g
npm install gulp-util
npm install gulp-util -g

当我试图奔跑时,我得到了

“gulp”不能被识别为内部或外部命令、可操作程序或批处理文件。

运行npm list gulp(或-g),我gulp@3.7.0我的全局或本地gulp安装的位置。

我已经尝试运行节点gulpfile.js指向我的gulpfile,它运行没有错误,当然,它以require('gulp')开始。

对于如何在Windows(8.1)上快速工作,有什么建议吗?


当前回答

NodeJS安装程序会将用户/AppData/Roaming/npm路径添加到用户环境路径,这是合适的。

通常,命令行上的PATH环境变量是用户环境路径和系统环境路径的组合。

但是,如果用户环境路径+系统环境路径大于约1920个字符,Windows不会将用户路径和系统路径合并,只使用系统环境路径。

参见:https://stackoverflow.com/a/21270921/301152

所以,当你打开Windows中的高级系统设置来编辑你的环境变量时,看看user/AppData/Roaming/npm路径是否已经在你的用户环境path中。如果是,那么问题是您的user +系统路径太长,导致Windows忽略您的用户路径。修改用户和/或系统路径字符串,gulp就可以正常工作了。

如果你找不到任何可以从你的用户和系统路径中删除的东西,那么就把user/AppData/Roaming/npm路径添加到系统环境路径中,并称之为hack。

其他回答

全局安装gulp。 NPM安装-g gulp 在项目中本地安装gulp。 安装gulp 在package.json中添加以下行 "脚本":{ “吞咽”:“杯” } 运行吞咽。 NPM运行缓慢

这对我很管用。

这是最常见的,因为它不像其他人指出的那样在环境变量上找到。这对我来说很管用。

回声路径% %

这将显示PATH环境变量之一。如果node_modules不在那里,执行以下操作从APPDATA路径中添加它。

路径= %路径%;% APPDATA % \ npm

我已经从这个答案中得到了一个条件(我不知道为什么)

https://stackoverflow.com/a/27295145/1175496

也就是说,我的PATH已经包含了%APPDATA%\npm

在我的情况下,问题是npm没有安装模块(再次,我不知道为什么)

因此我需要这样做:

$ npm配置前缀-g %APPDATA%/npm

之后,跑步 $ npm install -g gulp(或安装任何其他模块)将模块放在PATH需要它的地方。

对我来说,是我必须安装 通过命令NPM -g install Gulp-cli

我在windows 10中设置时也遇到了类似的问题。我的答案是特定于windows的(看看在linux或OSX解决方案的bash中修改路径的答案)

我遇到的核心问题是npm的文件夹没有在路径中注册。 我最初尝试在cmd提示符中更改这一点。

setx path "%path%;%appdata$\npm"

注意,我使用setx而不是set来确保对环境变量的更新保持不变。还要注意它是一个反斜杠。

这应该工作,但对我来说,它没有,因为setx只接受1024个字符的限制…(是的,这对我来说也是毫无意义的)。

所以尝试上面的方法,如果你得到一个警告,比如达到1024限制,那么你可以用我最后做的另一种方法。

首先,当你还在控制台时,输入echo %appdata%\npm…这是你的NPM文件夹,你想添加到路径,所以添加到你的剪贴板。

你必须进入注册表并到达以下文件夹:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \会话管理器\ \控制环境

然后在你的剪贴板中添加npm文件夹路径的“Path”值。重新启动以激活新值,现在应该可以运行了。

最后,对所有内容进行测试

>npm install -g gulp
>gulp