Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 651 Vote(s) - 3.46 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cannot run NPM Commands

#1
I've been using NPM on my machine (Windows 10), but recently ran into an issue. I currently have Node.js installed and get the following error while running any npm command.

> **Question:** What is causing this error and whats the best way to resolve it.

**Command:**

$ npm install

**Output/Error:**

bash: /c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
Reply

#2
I am using Git Bash for cli

I my case my Antivirus has quarantined the `C:\Program Files\Git\user\bin\sh.exe` file, and that is why `$ npm init` was not working and showing this error:

> bash: /c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory

When I restored that file it started working normally.
Reply

#3
Install **nodejs/npm** using **[nvm][1]** and it will not conflict with the one in windows.
The path for npm becomes (after installing using **nvm**) `/home/ubuntu/.nvm/versions/node/v14.16.0/bin/npm`

[Read More about setting up your Node.js development environment with WSL 2][2]


[1]:

[To see links please register here]

[2]:

[To see links please register here]

Reply

#4
experienced this problem on my wsl2

not a fix but a workaround. unmounting the c drive resolve the issue.

`umount /mnt/c`

Reply

#5
Just faced the same issue, this issue happens because npm is installed on your windows machine but not on your WSL one. you just need to install npm on your linux machine then it will read the binary from linux not windows that's in case you want to use windows paths on your WSL. otherwise if you don't need the windows paths you can use thing adam mentioned by adding this into your path: `PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g')` then refresh the shell with `source ~/.bashrc`
Reply

#6
Not my solution, but this seemed to work for me. Appears that having the Windows folder structure in `$PATH` while using WSL2 was causing that parse error, but I'm not exactly sure why.

1. Go to your user root (`cd ~`)
2. Open `.bashrc` in your chosen editor (vi, nano, etc.)
3. Append to the end of the file: `export PATH=$(echo "$PATH" | sed -e 's/:\/mnt[^:]*//g') # strip out problematic Windows %PATH%`
4. Close and re-open all terminal windows

Source:

[To see links please register here]


----

*Updated*: Per Lh Lee's comment, I've updated the regex from `s/:\/mnt.*//g` to `s/:\/mnt[^:]*//g` as this avoids accidentally capturing anything extra after the problematic /mnt paths.

Whereas the first regex will match `/mnt/c/blah:/other/thing`, the new one will not.
Reply

#7
I did with these commands.

sudo apt update && sudo apt install curl -y

curl

[To see links please register here]

| bash

source ~/.profile

nvm ls-remote

nvm install v15

node --version
Reply

#8
I had the same issue, I solved it by installing my dependencies on my Linux sub system as well. In my case it was just nodejs and npm.

1. Open Ubuntu terminal(Windows Sub system) I'm on windows 10...

<code>sudo apt update</code>

2. Now that the system is up to speed, let's do...

<code>sudo apt install nodejs npm</code>

(Do a variation of this suitable to you, I assume most are using nodejs though.)

My npm works now but still gives the error first. I mean it's not aesthetic at first, but my terminal on VS Code doesn't have the error first. Which is awesome!

**TLDR: The linux subsystem doesn't have npm so download it there first.**

Edit: formatting
Reply

#9
This command with 78 upvotes:

# export PATH=$(echo "$PATH" | sed -e 's/:\/mnt[^:]*//g') # strip out problematic Windows %PATH%

causes problems with other commands such as the "code" command for VS Code. It manipulates the $PATH. The correct solution here is to use nvm:

sudo apt-get install curl
curl -o-

[To see links please register here]

| bash
nvm ls
nvm use 14

Reply

#10
I encountered the same problem and found the cause and a simple solution.

After installing nvm in bash a few months ago, I recently decided to give zsh and on-my-zsh a try. I followed the instructions and installed zsh and oh-my-zsh. When trying to run `node` or `npm` I got the errror:

```zsh: /mnt/c/Program Files/nodejs/npm: bad interpreter: /bin/sh^M: no such file or directory```

My investigations led me to the `$PATH` variable. I then compared the output of `echo $PATH` in bash and zsh. In bash the path included the nvm directory, in zsh this directory was not added to the path.

The reason for this difference is that nvm adds a snippet to the end of `.bashrc`. In zsh `.zshrc` is loaded instead and the snippet will not be executed.

The snippet looks like this:

```
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
```

You can just copy these lines from `.bashrc` to the end of `.zshrc`, restart the shell, and the issue should be fixed if you have the same problem.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through