gulp - 全局和本地安装后找不到本地 gulp

标签 gulp

我已经安装了gulp在全局范围内

sudo npm install --global gulp-cli

和本地
npm install --save-dev gulp
/usr/local/bin/gulp存在,并且 ./node_modules/gulp./node_modules/gulp-cli存在。

当我尝试运行 gulp在命令行上,我得到了常见错误
$ gulp
[00:55:43] Local gulp not found in ~/dev/myProj/play-java-seed
[00:55:43] Try running: npm install gulp

我注意到的一件事是,如果我运行 gulp在某个随机目录 (~/foo) 中,错误消息是在该目录中找不到本地 gulp。如果我从正确的目录 (~/dev/myProj/play-java-seed/ui) 运行它,则错误引用父目录。

错误信息中的目录中其实没有安装gulp;它安装在较低的目录中。
/usr/local/bin/gulp是包含以下内容的文件的符号链接(symbolic link):
#!/usr/bin/env node

'use strict';

require('../')();

..在那个文件中正确吗?这看起来很奇怪,但我以前没有仔细看过它。

如果操作系统很重要,我正在运行 32 位 Ubuntu 16.04。
devDependencies在我的package.json包括gulpgulp-cli

最佳答案

Rico Kahler 在他的评论中给出了正确的答案。

当我查看机器时(而不是从我的内存中消失),我看到 gulp 文件比它应该的目录高一个目录。

错误消息确实对此提供了线索:它给出了保存 gulpfile 的目录,而不是当前目录。

关于gulp - 全局和本地安装后找不到本地 gulp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42337547/

相关文章:

typescript - 引用我的 TypeScript 模块时出错 TS2307 : Cannot find module

javascript - Gulp.js 不会重新加载纯 CSS

CSS3 动画停止在 gulp --production 上工作

javascript - 使用 Gulp 启动非常慢的 BrowserSync 服务器

javascript - 是否可以将流同步转换为缓冲区?

json - 找不到为 laravel windows 执行 gulp 的模块

css - Gulp minifyCss 去除特殊注释

npm - Gulp:我需要 package.json 吗?

javascript - 使用 gulp 并行运行多个 qunit 测试

javascript - JsHint - 隐藏此消息 : ES5 option is now set per default