“吞咽”不被识别为内部或外部命令

我正在尝试使用Gulp和Node.Js来为我的stream程缩小和连接生产的CSS / JS文件。

这是我所做的。

  1. 我在Windows 7机器上安装了Node.Js。
  2. 使用这个命令npm install -g gulp gulp在全局安装Gulp
  3. 然后,我添加了一个名为NODE_PATH的新用户variables,将NODE_PATH设置为%AppData%\npm\node_modules

closures并重新打开我的命令行后,我尝试从命令行(即gulp css )运行一个吞咽任务。 但是,这给我以下错误

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

我怎样才能使这个工作?

当我在窗口中使用search栏打开以下path时, %AppData%\npm\node_modules我看到以下两个文件夹

 gulp gulp-cli 

在这里输入图像描述

我已经尝试将%AppData%\npm\node_modules到我的系统variables的Pathvariables中,但是并没有将它应用,因为该variables达到了最大允许的租借人限制。

我从我的Pathvariables中删除了几个path,并添加了;C:\Users\[MyWindowsUserName]\AppData\Roaming\npm\node_modules

但现在还在工作。

我甚至试图使用这个命令在运行时设置path

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

我在这里错过了什么? 我还需要什么才能使这个工作?

当我最初在本地安装(w / o -g)时,我有类似的问题。 我用-g(全局)重新安装,然后工作。

 npm install -g gulp 

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

我解决了这个问题,通过卸载NodeJs和gulp并再次安装。

进入My Computer>Properties>Advance System Settings>Environment Variables>

在Administrator的variables下编辑PATHvariables并将其值更改为"C:\Users\Username\AppData\Roaming\npm" 。 注意:path中的用户名将是您login的当前pipe理员用户的名称。

对不起,这是一个错字。 您可以将node_modules添加到用户全局pathvariables的末尾,也可以检查与该文件夹(节点_modules)相关的权限。 该错误似乎不是最后一种情况,但我遇到类似于你的问题。 我发现大多数情况下第一个解决scheme已经足够 只需转到环境variables,并将node_modules的path添加到用户pathvariables的最后部分即可。 注意我说的是用户而不是系统。

只需在variables声明的末尾添加一个分号,并将静态path添加到您的node_module文件夹。 (例如c:\ path \ to \ node_module)

或者,您可以:

在你的CMD

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

编辑

只要你不closures你的CMD,最后的解决scheme就会工作。 因此,使用第一个解决scheme进行永久性更改。

在我的情况下,这个问题发生,因为我做了npm install与另一个系统用户在我的项目文件夹之前安装。 Gulp已经在全球安装。 删除我的项目中的文件夹/ node_modules / ,并与当前用户运行npm install ,它的工作。