'gulp'不被视为内部或外部命令

时间:2016-08-28 19:44:31

标签: node.js gulp

我正在尝试使用GulpNode.Js来简化和连接CSS / JS文件以进行制作。

这就是我所做的。

  1. 我在Windows 7计算机上安装了Node.Js
  2. 使用此命令npm install -g gulp
  3. 全局安装Gulp
  4. 然后我添加了一个名为NODE_PATH的新用户变量,将其设置为%AppData%\npm\node_modules
  5. 关闭并重新打开命令行后,我尝试从命令行运行gulp任务(即gulp css)。但这给了我以下错误

    'gulp' is not recognized as an internal or external command
    

    我怎样才能让它发挥作用?

    当我使用Windows中的搜索栏打开以下路径时, %AppData%\npm\node_modules我看到以下两个文件夹

    gulp
    gulp-cli
    

    enter image description here

    我已尝试将%AppData%\npm\node_modules添加到系统变量的Path变量中,但它没有接受它,因为该变量达到了允许的最大字符数限制。

    我从Path变量中删除了几条路径并添加了;C:\Users\[MyWindowsUserName]\AppData\Roaming\npm\node_modules

    但仍无效。

    我甚至尝试使用此命令在运行时设置路径

    PATH=%PATH%;C:\Users\[MyWindowsUserName]\AppData\Roaming\npm\node_modules 然后运行gulp并仍然存在相同的问题。

    我在这里缺少什么?我还需要什么才能让它发挥作用?

12 个答案:

答案 0 :(得分:62)

我最初在本地安装时遇到类似的问题(w / o -g)。我用-g(全局)重新安装,然后就可以了。

npm install -g gulp

你应该从gulpfile.js可用的文件夹中运行gulp。

答案 1 :(得分:10)

我通过卸载NodeJs和gulp解决了这个问题,然后再重新安装。

要全局安装gulp,我执行了以下命令

npm install -g gulp

答案 2 :(得分:7)

转到My Computer>Properties>Advance System Settings>Environment Variables>

在Administrator的变量下编辑PATH变量&将其值更改为"C:\Users\Username\AppData\Roaming\npm"。注意:路径中的用户名将是您已登录的当前管理员用户名。

答案 3 :(得分:1)

我在Windows 7上遇到了同样的问题。您必须手动编辑路径系统变量。

转到开始->编辑系统环境变量->环境变量->在系统部分中找到变量“路径”->编辑->在“;”之后添加新路径到文件gulp.cmd目录,例如“; C:\ Users \ YOURUSERNAME \ AppData \ Roaming \ npm”->单击“确定”并关闭这些窗口->重新启动CLI->享受

答案 4 :(得分:0)

抱歉这是一个错字。您可以将node_modules添加到用户的全局路径变量的末尾,也可以检查与该文件夹关联的权限(node _modules)。该错误似乎不是最后一种情况,但我遇到了与您类似的问题。在大多数情况下,我找到了第一个解决方案。只需转到环境变量并将node_modules的路径添加到用户路径变量的最后部分。注意我说的是用户而不是系统。

只需在变量声明的末尾添加分号,并将静态路径添加到node_module文件夹。 (例如:\ path \ to \ node_module)

或者你可以:

在你的CMD中

PATH=%PATH%;C:\\path\to\node_module

修改

只要您不关闭CMD,最后的解决方案就会有效。因此,使用第一个解决方案进行永久性更改。

答案 5 :(得分:0)

在我的情况下,出现此问题是因为我之前在项目文件夹中与另一个系统用户npm install进行了对比。 Gulp已在全球安装。删除项目中的文件夹 / node_modules / ,并使用当前用户运行npm install后,它就可以了。

答案 6 :(得分:0)

您需要确保在运行命令(安装npm -g gulp)时,它将在C:\目录中创建install gulp。

该目录应与您在java路径中设置的npm路径变量匹配。

从命令提示符运行路径,并验证这一点。如果没有,在你吞咽的地方改变你的java类路径变量。

它应该工作。

答案 7 :(得分:0)

如果您在Windows 10中安装了mysql,请尝试从计算机上卸载每个myqsl应用程序。它为我工作。确切地说,当我在计算机gulp命令中安装mysql并停止其他命令时,我已经尝试了一切,但对我没有任何帮助。

答案 8 :(得分:0)

我在节点v12.13.1上有同样的例外,

降级节点到v10.15.3,现在可以正常工作。

答案 9 :(得分:0)

最佳解决方案,您可以使用nvm安装程序来管理多个节点版本。然后,使用以下命令安装所需节点的版本

nvm install version

使用以下命令作为单独提及版本的工作节点

nvm use version

现在,您可以使用任何版本的节点,而无需卸载以前安装的节点。

答案 10 :(得分:0)

我刚在Windows 10和最新的NodeJS(14.15.1)上遇到过此问题。就我而言,我们的管理员可以将我们的配置文件和真正的“主”文件夹远程安装到我们的工作机上。 Npm希望将其缓存放到远程服务器上,并且一直有效到本发行版。

我不知道npm有一个.npmrc文件可用。我在实际计算机的C:\Users\my-id文件夹中添加了一个文件夹,其中包含:

prefix=C:\Users\my-id\nodejs\npm
cache=c:\Users\my-id\nodejs\npm-cache

我还将这些路径添加到了PATH环境变量中。

我转到工作计算机和远程“家庭”服务器上的APPDATA文件夹,并删除了所有与npm相关的漫游文件夹。我删除了项目中的node_modules文件夹。

我关闭了所有打开的窗口,然后重新打开它们。我在项目目录中弹出命令提示符,并重新init ed npm并重新安装了所需的模块。

此后一切都在进行。

答案 11 :(得分:0)

您可能需要全局安装 gulp-cli。如果您已经拥有,请卸载然后重新安装:

npm uninstall -g gulp-cli

npm install -g gulp-cli