我已全局安装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
我注意到的一件事是,如果我在某个随机目录(〜/ foo)中运行gulp
,则错误消息是在该目录中找不到本地gulp。如果我从正确的目录(〜/ dev / myProj / play-java-seed / ui)运行它,那么错误引用父目录。
事实上,错误消息中的目录中没有安装gulp;它安装在较低的目录上。
/usr/local/bin/gulp
是包含以下内容的文件的符号链接:
#!/usr/bin/env node
'use strict';
require('../')();
该文件中的..
是否正确?这看起来很奇怪,但我之前没有仔细看过它。
如果操作系统很重要,我正在运行32位Ubuntu 16.04。
我的devDependencies
中的 package.json
包括gulp
和gulp-cli
答案 0 :(得分:3)
Rico Kahler在评论中得到了正确答案。
当我查看机器时(而不是忘记我的记忆),我看到gulp文件是一个比它应该更高的目录。
错误消息确实有一个线索:它给目录持有gulpfile,而不是当前目录。