278

After installing gulp.js via npm, I receive a no command 'gulp' found error when running the gulp command from the same directory it was installed into.

When looking under the node_modules/.bin/ directory, I can see the gulp executable there.

Is there something wrong with my npm installation?

3
  • 11
    did you do a global install? npm install gulp -g Commented Mar 6, 2014 at 12:59
  • 3
    I'm having the same problem. I did a global install and still nothing... Commented Aug 2, 2014 at 0:31
  • This link will surely help you out stackoverflow.com/a/45707907/5222115 Commented Aug 16, 2017 at 7:51

9 Answers 9

529

That's perfectly normal. If you want gulp-cli available on the command line, you need to install it globally.

npm install --global gulp-cli 

See the install instruction.

Also, node_modules/.bin/ isn't in your $PATH. But it is automatically added by npm when running npm scripts (see this blog post for reference).

So you could add scripts to your package.json file:

{ "name": "your-app", "version": "0.0.1", "scripts": { "gulp": "gulp", "minify": "gulp minify" } } 

You could then run npm run gulp or npm run minify to launch gulp tasks.

Sign up to request clarification or add additional context in comments.

4 Comments

I am asked to run npm install -g gulp as sudo (Root . Admin) but if I do that then when I am exiting to normal user it cant find gulp command. I dont think its good to stay in root for everything I'd rather get my environment properly working. So anyone know what could cause this issue pls..
I guess it all depends on how/where node was installed. When using github.com/creationix/nvm, you don't need to be root to install global libs.
I think i used the installer on mac OSX to install nodejs.org I dont know the difference between nodejs and node @£$@
Please keep in mind that gulp itself is no longer a global package. Instead, global-cli is (npm -i -g gulp-cli) and that global gulp should actually be uninstalled first!
14

I solved the issue without reinstalling node using the commands below:

$ npm uninstall --global gulp gulp-cli $ rm /usr/local/share/man/man1/gulp.1 $ npm install --global gulp-cli 

2 Comments

A slightly updated version of this worked for me, as I use NVM to manage my Node environment: $ npm uninstall -g gulp gulp-cli $ rm /Users/[usrName]/.nvm/versions/node/[nodeVersion]/share/man/man1/gulp.1 $ npm install -g gulp-cli
Global is a bad idea.
13

I actually have the same issue.

This link is probably my best guess:

nodejs vs node on ubuntu 12.04

I did that to resolve my problem:

sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get install nodejs sudo ln -s /usr/bin/nodejs /usr/bin/node 

3 Comments

You also need sudo ln -s /usr/bin/nodejs /usr/bin/node since so many apps/packages look for it there.
The ln -s [target] [name|directory] command creates a symbolic link ("alias" or "shortcut"). See linuxcommand.org/man_pages/ln1.html
still not working here... Man, I kinda think that this is trivial. But this link from another SO page got the right answer. Just run it locally stackoverflow.com/questions/36457377/…
8

I solved the issue removing gulp and installing gulp-cli again:

rm /usr/local/bin/gulp npm install -g gulp-cli 

2 Comments

Also needed to use sudo
needed to use sudo, but this finally worked
4

if still not resolved try adding this to your package.js scripts

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

and run npm run gulp it will runt gulp scripts from gulpfile.js

Comments

2

Installing on a Mac - Sierra - After numerous failed attempts to install and run gulp globally via the command line using several different instructions I found I added this to my path and it worked:

export PATH=/usr/local/Cellar/node/7.6.0/libexec/npm/bin/:$PATH 

I got that path from the text output when installing gulp.

Comments

2

Tried with sudo and it worked !!

sudo npm install --global gulp-cli 

1 Comment

Please learn what --global means and how this doesn't fix the problem on other peoples computers.
1

I'm on lubuntu 19.10

I've used combination of previous answers, and didn't tweak the $PATH.

  1. npm uninstall --global gulp gulp-cli This removes any package if they are already there.
  2. sudo npm install --global gulp-cli Reinstall it as root user.

If you want to do copy and paste

npm uninstall --global gulp gulp-cli && sudo npm install --global gulp-cli 

should work

I guess --global is unnecessary here as it's installed using sudo, but I've used it just in case.

Comments

1

in my case there was only on issue, just put "gulp":"gulp" in the script portion, of package.json, and then use command npm run gulp.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.