我在全局和本地都安装了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)上快速工作,有什么建议吗?


当前回答

我在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

其他回答

我在同事虚拟机上工作时也遇到了同样的问题。问题似乎源于用户文件夹。

在环境变量中添加NODE_PATH并没有解决这个问题。

如果你在你的系统变量中编辑你的“Path”变量,并在它的末尾添加“%APPDATA%\npm”,它应该可以解决这个问题…除非你或其他人npm以其他用户安装gulp,而不是你当前登录的用户。

如果你想让它对所有用户都可用,请将“C:\ users \yourUser\AppData\Roaming\npm”(或任何你有gulp的地方)显式放置,而不是使用“% AppData %\npm”。您还可以将文件移动到与用户无关的路径。

不要忘记启动一个新的cmd提示符,因为你已经打开的不会自动获得新的“Path”变量。

现在“杯”。

这最终成为了我的“用户”问题。我已经在系统上安装了npm和node,以user1登录,然后我设置了user2。我可以运行node,也可以运行npm命令,但不能从命令行运行任何npm包。

为了解决这个问题,我卸载了node和npm,并在正确的用户下重新安装。在此之后,我可以毫无问题地从命令行运行包。

我用加法来解决它 C:\Users\[用户]\ AppData \ \ npm徘徊 到路径 而不是 C:\Users\[用户]\ AppData \ \ npm \ node_modules徘徊

以管理员身份运行Power-shell。

然后执行以下命令

Set-ExecutionPolicy Unrestricted

慎用

gulp命令没有在windows 10中发现问题,添加“%AppData%\npm\node_modules”不适合我。 请执行以下步骤:

后做

安装NPM

And

NPM安装-g gulp

Add

C: \ \用户YourUsername \ npm

“系统变量”中的路径。

在所有的解决方案都失败后,它对我有用。