236
votes

I've installed gulp both globally and locally using

npm install gulp
npm install gulp -g
npm install gulp-util
npm install gulp-util -g

When try to run gulp i get

'gulp' is not recognized as an internal or external command, operable program or batch file.

Running npm list gulp (or -g), I [email protected] with the location of either my global or local gulp installation.

I've tried running node gulpfile.js pointed to my gulpfile, and it runs without error, and of course, it starts with require('gulp').

Any suggestions on getting gulp working on Windows(8.1)?

30
I'm not using gulp on windows, but have you tried npm install gulp --save-dev ?soenguy
@soenguy that will not solve itSteveLacy
@pedalpete did my answer solve your question? Please mark it if soSteveLacy
I was having this issue until I removed node.js COMPLETELY and reinstalled/restarted my computer. I was getting all sorts of weird errors from my node plugins.user9844377
I encountered this problem recently: turns out the only thing that I forgot was to add the folder where the executable gulp program lies to the Windows %PATH% variable. In my case: %AppData%\Roaming\npmAdrienW

30 Answers

247
votes

You forgot to install the gulp-cli package:

npm install -g gulp-cli

Then you can run the command "gulp" from the command line.

225
votes

The issue and answer can be found in this question: https://stackoverflow.com/a/9588052/1041104

The npm modules such as gulp are not installed to the path. Thus are not found when you run them in the CMD.

If gulp has been installed globally, you can use the process below:

  1. Create an environmental variable called NODE_PATH
  2. Set it to: %AppData%\npm\node_modules or %AppData%\npm on windows 8-10
  3. Close CMD, and Re-Open to get the new ENV variables

Add Node path to environmental variables

Running npm ls and npm ls -g shows that they are installed, but the CMD can not find them due to the missing link.

91
votes
  1. Be sure that you have gulp and gulp.cmd (use windows search)
  2. Copy the path of gulp.cmd (C:\Users\XXXX\AppData\Roaming\npm)
  3. Add this path to the Path envirement variable or edit PATH environment variable and add %APPDATA%\npm
  4. Reopen cmd.

Add %APPDATA%\npm to front of Path, not end of the Path.

45
votes
  1. Install gulp globally.

    npm install -g gulp

  2. Install gulp locally in the project.

    npm install gulp

  3. Add below line in your package.json

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

  4. Run gulp.

    npm run gulp

This worked for me.

32
votes

I am using Windows 8.1. I had the same problem.

I installed gulp using Node.js command prompt

npm install -g gulp

Then go to the required directory in Node.js command prompt and try

gulp -v

If you get gulp local version not found exit the current Node.js command prompt and try the above command in a new Node.js command prompt

I tried the NODE_PATH mentioned by @SteveLacy but the command prompt was still not able to detect gulp command

27
votes

Had the same problem, not really best solution but install it globally:

npm install -g gulp

Of course it's best to still have it in package.json, so you can do the following to install it locally and add an entry into package.json:

npm install --save-dev gulp

Everything else (gulp plugins) install also locally.

20
votes

The simple solution just do npm link gulp

19
votes

I was having the same problem when trying to get gulp working on a co-workers VM. It seems the problem stems from the users folder.

Adding NODE_PATH in my environment variables didn't fix the problem.

If you edit your 'Path' variable in your system variables and add '%APPDATA%\npm' at the end of that, it should fix the problem... Unless you or somebody else npm installed gulp as another user than the one you're currently logged in as.

If you want it to be available for all users, put 'C:\Users\yourUser\AppData\Roaming\npm'(or where ever you have gulp) explicitly instead of using '%APPDATA%\npm'. You can also move the files to a more user-indifferent path.

Don't forget to start a new cmd prompt, because the one you have open won't get the new 'Path' variable automatically.

Now 'gulp'.

16
votes

One right way:

  1. Cmd + R : type "%appdata%"
  2. Go to npm folder
  3. Copy whole path like "C:\Users\Blah...\npm\"
  4. Go to My Computer + Right Click "Properties"
  5. Advanced System Settings (On the left)
  6. Click on Environment Variables
  7. Click on Edit Path
  8. Add that "C:\Users\Blah...\npm\" to the end and type ";" after that
  9. Click ok and reopen cmd
14
votes

You should first install gulp as global using:

npm install gulp -g

Otherwise the path solution will not resolve the problem.

Then add the npm modules path to the PATH using:

PATH = %PATH%;%APPDATA%\npm
14
votes

In my case it was that I had to install gulp-cli by command npm -g install gulp-cli

9
votes

Try to add to your PATH variable the following:

C:\Users\YOUR_USER\AppData\Roaming\npm

I had the same problem and I solved adding the path to my node modules.

9
votes

I had a similar problem setting it up in windows 10. My answer is windows specific (look at the answers for modifying path in bash for a linux or OSX solution)

The core problem I had was that npm's folder was not registered in the path. I originally tried changing this in cmd prompt.

setx path "%path%;%appdata$\npm"

Note that I used setx instead of set to ensure that the update to the environmental variable remains. Also note that it's a backslash.

This should work but for me it didn't because setx has a limit of only accepting 1024 characters... (yes it's nonsensical to me as well).

So try the above and if you get a warning like did about reaching the 1024 limit, then you can do the other way I ended up doing.

First while youre still in the console, type: echo %appdata%\npm ... this is your npm folder that you want to add to the path so add it to your clipboard.

You have to go into the registry and reach the following folder:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Then append the 'Path' value with the npm folder path in your clipboard. Reboot to activate the new value and you should now be good to go.

using regedit

Finally, just test it all out

>npm install -g gulp
>gulp
6
votes

This ended up being a 'user' issue with me. I had installed npm and node on the system logged in as user1, then I set-up user2. I could run node, and I could run npm commnds, but could not run any npm packages from the command line.

I uninstalled node and npm, and reinstalled under the correct user in order to solve the problem. After that I can run packages from the command-line without issue.

6
votes

The top answer did not work for me.

I am using a virtual machine that had a previous owner. The previous owner had an old version of npm installed. Using that, I was installed gulp globally with npm install -g gulp. Running the command gulp would return 'gulp' is not recognized as an internal or external command, operable program or batch file.. As I said, the top Answer did not fix my problem. I basically had to reinstall nodejs.

Solution

  1. Re-download nodejs
  2. npm install -g gulp
  3. gulp -version

This fixed the problem for me.

4
votes

I had v0.12.3 of Nodejs on Win7 x64 and ran into similar issues when I tried installing gulp. This worked for me:

  1. Uninstalled Nodejs
  2. Installed Nodejs v0.10.29
  3. npm install -g npm
  4. npm install -g gulp
4
votes

The NodeJS installer appears to add the user/AppData/Roaming/npm path to the user environment path, which is appropriate.

Normally, the PATH environment variable at the command line is the combination of the user environment path and the system environment path.

However, if the user environment path + the system environment path is larger than about 1920 characters, Windows does not not combine the user and system paths - only the system environment path is used.

See: https://stackoverflow.com/a/21270921/301152

So, when you open the Advanced System Settings in Windows to edit your environment variables, take a look to see if the user/AppData/Roaming/npm path is already in your user environment PATH. If it is, then the problem is that your user + system paths are too long, causing Windows to ignore your user path. Trim your user and/or system path strings and gulp should work as installed.

If you can't find anything to trim away from your user and system paths, then add the user/AppData/Roaming/npm path to the system environment path and call it a hack.

4
votes

I was facing the same problem after installation. So i tried running cmd with elevated privileges (admin) and it worked.

Screen capture:

cmd

4
votes

Add this path in your Environment Variables PATH C:\Users\USERNAME\AppData\Roaming\npm\

4
votes

(Windows 10) I didn't like the path answers. I use choco package manager for node.js. Gulp would not fire for me unless it was:

  1. Globally installed npm i -g gulp and local dir npm i --save-dev gulp

  2. The problem persisted beyond this once, which was fixed by completely removing node.js and reinstalling it.

I didn't see any comments about local/global and node.js removal/reinstall.

3
votes

This is most commonly because it is not found on environment variables as others have pointed out. This is what worked for me.

echo %PATH%

This will show you what's one your PATH environment variable. If node_modules is not there there do the following to add it from your APPDATA path.

PATH = %PATH%; %APPDATA%\npm

3
votes

I resolved it by adding C:\Users\[USER]\AppData\Roaming\npm to PATH and not C:\Users\[USER]\AppData\Roaming\npm\node_modules

3
votes

I already had the one condition from this answer (I don't know why)

https://stackoverflow.com/a/27295145/1175496

That is, my PATH already included %APPDATA%\npm

In my case, the problem was npm was not installing modules there (again, I don't know why)

Therefore I needed to do this:

$ npm config set prefix -g %APPDATA%/npm

After that, running $ npm install -g gulp (or installing any other module) put the module in the place where PATH expects it.

3
votes

This works for me:

 npm link gulp
 npm update
3
votes

On my Windows 10 Enterprise, gulp was not installed in %AppData%, which is C:\Users\username\AppData\npm\node_modules on my machine, but in C:\Users\username\AppData\Local\npm\node_modules.

To get gulp to be picked up at the command prompt or in powershell, I added to the user PATH the value C:\Users\username\AppData\Local\npm. After that it worked like a charm. Naturally I had to close the command prompt or powershell window and re-open for the above to take effect.

2
votes

Had gulp command not found problem in windows 10 and Adding "%AppData%\npm\node_modules" doesn't work for me. Do this steps please:

After doing

npm install -g npm

And

npm install -g gulp

Add

C:\Users\YourUsername\npm

to Path in System Variables.

It Works for me after all solutions failed me.

2
votes

Run npm install gulp -g

if you are using windows, please add the gulp's dir to PATH.

such like C:\Users\YOURNAME\AppData\Roaming\npm\node_modules\gulp

2
votes

In windows:

  1. Using your windows explorer, Navigate to your vagrant shared folder (I am using scotchbox by the way) e.g C:\scotchbox/public/gulpProject
  2. In the address bar of the folder, type cmd and press Enter
  3. Do your gulp installation npm install
2
votes

In short:

You should add %NODE_PATH% to the system variable Path if the other answers don't work.

The reason:

The point is, command prompt only executes programs under the Path system variable, not the user variables. If you have NODE_PATH set as a user variable, add %NODE_PATH% to Path.


I asked here and got marked duplicate for a question with different intention :(

NPM Windows doesn't execute program under the User Variable path [duplicate]

2
votes

In Windows:

  1. Press the following two keys: Windows + r
  2. Type control /name microsoft.system into the run dialog box that appears from the previous step.

Windows run dialog box

  1. Select Advanced System Settings from the left of the window pane
  2. Click the Advanced tab on the system properties box that appears and click the Environment Variables button.
  3. Edit the PATH User environment variable.
  4. Click New on the edit environment variable window that pops up for the PATH variable and add the following: %APPDATA%\npm to the start of the PATH environment variable (as shown in the image below).

Setting the environmental variable

  1. Close your Command Prompt and reopen it.