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


当前回答

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

其他回答

有同样的问题,不是最好的解决方案,但在全球安装:

npm install -g gulp

当然,最好还是保留它的包装。Json,所以你可以执行以下操作在本地安装它,并在package.json中添加一个条目:

npm install --save-dev gulp

其他所有插件(gulp插件)也安装在本地。

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

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

如果你需要安装一个gulpjs.com网站上描述的全局版本的gulp,但仍然有问题,你可能需要清理npm的缓存。例如,如果您之前安装了gulp,并设法意外地将其删除,那么它可能无法再次正确安装,因为它正在寻找不再存在的目录。在这种情况下,运行:

Sudo NPM缓存清理

然后像往常一样安装gulp。

所以我还没有看到这个答案,NODE_PATH和所有其他所谓的环境变量修复没有做任何事情,所以我想我应该添加我的暴力方式来让它工作:

显然,你安装了最新的node.js,然后进行npm install。我还必须先升级一些依赖项(当我试图安装gulp时,得到了这些警告,在我运行这些命令之前,它告诉我它缺少popper.js依赖项Bootstrap 4所需的-即使它实际上在那个部门是ok的!):

npm install -g minimatch(输入)

npm install -g graceful-fs(输入)

我看到当我执行npm install -g gulp时,再次,尽管(并且它无法运行),它正在把它放进去 C:\Users\myname\AppData\Roaming\npm\ node_modules

因为我从命令行运行gulp,它被cd到我的项目文件夹中: C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject

我怀疑它对另一个地方一无所知。还有我的包裹。Json没有:

"scripts":{
    "gulp": "gulp"
 }

相反,它有:

"scripts":{
    "start": "gulp"
 }

因此,即使已经安装到项目中,它也不能运行gulp。我想在这一点上,如果我运行start而不是gulp,它可能会工作,但我在“gulp”和另一行后面添加了一个逗号:

"scripts":{
    "start": "gulp",
    "gulp": "gulp"
 }

然后复制gulp文件夹 C:\Users\myname\AppData\Roaming\npm\ node_modules \吞咽 来 C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject\node_modules\gulp

在那之后它运行得很好。

简而言之:

如果其他答案不起作用,您应该向系统变量Path添加%NODE_PATH%。

其原因是:

关键是,命令提示符只执行Path系统变量下的程序,而不是用户变量下的程序。如果将“NODE_PATH”设置为用户变量,则在“Path”中添加%NODE_PATH%。


我在这里问了一个问题,但因为一个不同的意图而被标记为重复:(

NPM Windows不执行用户变量路径下的程序