11

I'm using windows 8.1 x64 with all updates.

I was using nodejs 8.9.1 - I took an error on command "npm -v".
So I uninstalled this version and install 8.9.3. It gave me same error on the command.
And then I uninstalled 8.9.3 and clean all paths using this answer; https://stackoverflow.com/a/20711410/1143249 Then installed new version 9.3.0...

But still, I'm getting same error in all npm commands.
What am I missing? How can I solve this problem?

C:\Users\UserName\Desktop>npm -v
Error: spawn C:\Program Files\nodejs\node.exe ENOENT
    at _errnoException (util.js:999:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:201:19)
    at onErrorNT (internal/child_process.js:389:16)
    at process._tickCallback (internal/process/next_tick.js:152:19)
    at Function.Module.runMain (module.js:703:11)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:618:3
C:\Program Files\nodejs\node_modules\npm\lib\npm.js:51
      throw new Error('npm.load() required')
      ^

Error: npm.load() required
    at Object.get (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:51:13)
    at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at process.emit (events.js:159:13)
    at process._fatalException (bootstrap_node.js:387:26)
5.5.1

events.js:136
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\Program Files\nodejs\node.exe ENOENT
    at _errnoException (util.js:999:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:201:19)
    at onErrorNT (internal/child_process.js:389:16)
    at process._tickCallback (internal/process/next_tick.js:152:19)
    at Function.Module.runMain (module.js:703:11)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:618:3

Update:
Everytime I uninstalled nodejs, clean/delete folders and tried these versions;
- node-v9.3.0-x64 not working
- node-v8.9.3-x64 not working
- node-v8.9.1-x64 not working
- node-v8.9.0-x64 not working
- node-v7.10.0-x64 shows version number also a small error.
Here is the output;

C:\Users\UserName\Desktop>npm -v
5.6.0

events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\Program Files\nodejs\node.exe ENOENT
    at exports._errnoException (util.js:1050:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:367:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
    at Module.runMain (module.js:607:11)
    at run (bootstrap_node.js:427:7)
    at startup (bootstrap_node.js:151:9)
    at bootstrap_node.js:542:3

Update:
I uninstalled Avg anti-virus protection and installed node-v6.12.3-x64.msi. Still I have problems, an example; I can't run commands like; Node v6.12.3 on Windows 8.1 x64

Last Update
Thanks for all answers ( until this date: 10.02.2018 03:30 PM GTM+3 )
( I've completed some of my jobs with vm windows until this date but now I've sad news.)
I ran out all options and I have still a lot work to do with npm packages. So, I've formatted my machine and replace with Windows 10 Enterprise x64. I can't try new answers now but here is golden point what I've learned; If you have mission critical machine like ci-build (jenkins etc.) or if you don't have more than one computer (And vm is not an option) Just backup your drive completely at time to time because you will never know your computer softwares (like node - npm) could give an interesting errors such as this. That's what I learned, just saying...

Lost_In_Library
  • 3,265
  • 6
  • 38
  • 70
  • Are you administrator? Try installing node using nvm for Windows or nvs. – gretro Dec 24 '17 at 16:49
  • @gretro thanks for suggestion. I tried all installs with administrator. Also I tried nvm - no luck. Still I'm getting same error message. – Lost_In_Library Dec 24 '17 at 17:33
  • Is any other version working? Like Node 6 or something? – gretro Dec 24 '17 at 17:35
  • I only tried 3 versions. 8.9.1, 8.9.3 and 9.3.0. Also I checked my antivirus and firewall settings (everything seems fine). node -v command is working and giving version number. But npm -v command giving this (ENOENT) error message all the time. I didn't try node v6, because it will mess up the environment more some-how. I don't know. Do you recommend it? I can try if you really think it will help. – Lost_In_Library Dec 24 '17 at 17:41
  • 1
    If `node -v` is working and not `npm -v`, it probably means that you need to add the variable name `npm` in your variable environment. You can consider this [answer](https://stackoverflow.com/questions/27864040/fixing-npm-path-in-windows-8-and-10) – edkeveked Dec 24 '17 at 17:45
  • @edkeveked thanks but Environment Variables looks fine. Path has the directory (C:\Program Files\nodejs) and directory exists (node.exe in it). – Lost_In_Library Dec 24 '17 at 21:07
  • Some sort of antivirus? Some sort of protected mode for node.exe? What happens if you run it as administrator? – Brad Feb 02 '18 at 06:09
  • @Brad thanks for your help. I uninstalled AVG antivirus, restart pc and then install node again. Doesnt work. I'm still getting same error message from npm -v. – Lost_In_Library Feb 03 '18 at 17:51
  • To clarify. Does `node -v` work? If so, try reinstalling NPM. It is a separate from node you know. – Mieszko Feb 06 '18 at 16:12
  • Having the same issue on a new M2 Mac – AndrewLeonardi Aug 05 '22 at 15:11

7 Answers7

1

The workaround is to ensure that C:\Users\{user}\AppData\Roaming\npm exists and is writable with your normal user account.

see Troubleshooting

Gabriel Bleu
  • 9,703
  • 2
  • 30
  • 43
  • I uninstalled all security programs ( malwarebytes antimalware and avg ). Then restart > Then set read/write permissions on certain folders. Still not working. – Lost_In_Library Feb 10 '18 at 00:11
1

Although haven't tested Node on Windows 8, I suggest you get rid of npm installation under AppData folder altogether. You can achieve this by using a Node version manager. I recommend Nodist. You can easily switch between versions as well.

With Nodist you can run the command as such:

 nodist 6.2.10

One of the things I suspect is Node runtime's limited access to required files under C:/ drive - maybe something related to Windows 8. That said, you could install nodist in any drive other than C:/. Meanwhile as mentioned by @fjoe, stick with LTS versions especially v6.x.x.

Ahmad Baktash Hayeri
  • 5,802
  • 4
  • 30
  • 43
0

Here are a few things to consider when picking your node.js version.

Version labelled as LTS (Long Term Support) are the releases they stand behind.

You can see a full list of versions here notice the LTS column. It is also interesting to see the versions of V8 and npm that are packaged with each.

  • Node 9.* has no official LTS release.
  • Node 8.* officially entered LTS on 10-31-2017 (3 months ago).
    • I personally have run into problems with it.
  • Node 7.* never officially released as LTS.
  • Node 6.* has 2 years of official LTS releases and they are continuing to support it.
    • With the most recent release on 01-02-2018.

Given this information might I recommend you try the proven long supported version 6.*

If this works then maybe hold off on version 8.* until more things get ironed out.

Other people have commented on your question about environment variables for node or npm. This is obviously not the issue as the commands are recognized and running (but they error).

Also I would recommend you follow this full uninstall guide: How to completely remove node.js from Windows

fjoe
  • 1,150
  • 7
  • 15
  • Thanks for all version information. I uninstalled and cleaned all paths. Then installed node-v6.12.3-x64.msi from your link. Error message has been changed. But still I have errors. Such as; C:\Users\Username\Desktop>npm -v 5.6.0 events.js:160 throw er; // Unhandled 'error' event ^ Error: spawn C:\Program Files\nodejs\node.exe ENOENT at exports._errnoException (util.js:1020:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:197:32) at onErrorNT (internal/child_process.js:376:16) ... – Lost_In_Library Feb 03 '18 at 17:59
  • @Lost_In_Library did you follow a full windows uninstall guide like this? https://stackoverflow.com/a/20711410/6577822 – fjoe Feb 04 '18 at 00:15
  • Sorry, I did :( no luck. – Lost_In_Library Feb 10 '18 at 00:08
0

My coding buddy had a similar error yesterday, although on Linux.

The error was in the node_modules folder, so removing that and reinstalling node solved it for him.

That would be your node_module folder in AppData\Roaming\npm.

  • The node.exe seems to not exists at the specified location. Have you looked in the folder C:/Program Files/node/node.exe? If it does, try move it to a totally new location and change the config file. – FlamingDrake Feb 11 '18 at 00:22
0

I guess the problem can be in NPM itself. try to update your NPM.

Try to use this great approach

By the way, it's great to know what npm version you have with your changes of node.js versions.

Yevhenii Herasymchuk
  • 2,047
  • 15
  • 20
0

From the logs you provided it looks like a cache bug, because of some junk that previously exists and that is causing issues.

Open the command prompt with admin privileges and follow the below steps:

1) Clear the cache: npm cache clean --force. You can also run npm cache verify.

2) Delete node_modules folder using: rm -rf node_modules.

3) Delete any package-lock.json file.

4) Remove the .npm directory.

5) Remove following directories :

   5.1) C:\Users\<username>\AppData\Roaming\npm\. 

   5.2) C:\Users\<username>\AppData\Roaming\npm-cache.

6) Also, Try by setting environment variables:

C:\Users\<username>\AppData\Roaming\npm;C:\Program Files\nodejs.

Type in the command line: which npm.

Maybe you did not set the system value : NODE_PATH it should point to your global module location.

7) Update to the latest npm with npm i -g npm@latest.

Hope the above trick resolve your issue.

Thanks.

Suhas Gavad
  • 1,199
  • 1
  • 8
  • 12
0

I guess while installing Node.js it don't able to set it's environment path due to permission.

You Need to configure Node path manually into environment variables.