昨天领导让我看一个前端项目,项目直接在我的 Windows 11 电脑上面执行此命令即可打开:npm run start
。今天早上不知道咋了,我想看下 Linux ,然后一顿折腾后在电脑上安装了 WSL ,WSL 的版本信息如下:
WSL 版本:2.1.5.0
内核版本:5.15.146.1-2
WSLg 版本:1.0.60
MSRDC 版本:1.2.5105
Direct3D 版本:1.611.1-81528511
DXCore 版本:10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本:10.0.22631.3593
现在快下班了,想再看下领导让我看的项目,结果在我的 Windows 电脑上运行 npm run start
直接报错了,现在有点慌了,不知道是怎么回事,难道要卸载 WSL ?
11: exec: node: not found
1
yggd 225 天前
在 WSL 里装完 Linux 装 Node 和 NPM 了吗?
|
3
yggd 225 天前
没装哪来的 npm
|
5
yggd 225 天前
@hahade https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl
Windows 里的东西大部分在 Linux 用不了。 |
6
gucheen 225 天前
检查一下环境变量,最不济就重装一下 node 或者 npm 呗
|
9
gucheen 225 天前
你可以试着手动切换到 windows 的 cmd
|
11
cutecore 225 天前
我也遇到了,之后不在用 wsl2 还是继续 vmware player 了
|
13
ysc3839 225 天前 via Android
执行
which npm 或者 where npm 试试? |
14
hahade OP 折腾了一圈,算了,还是用 Windows 好。
|
15
ZnductR0MjHvjRQ3 225 天前
小问题,仔细检查本地 node 环境,如果没了就再装一遍,如果还在就检查环境变量,你以为 npm 是调用什么,是从你环境变量里面添加的目录找到一个叫做 npm.exe/npm.sp1/npm.bat 来执行的 node 同理
|
16
mmdsun 225 天前
要在 linux 中安装 npm node 环境, 你用的是 windows 的 npm ,没用到 WSL 2 里的。
user@LAPTOP-D0V5MGO3:~$ whereis npm npm: /mnt/c/Users/user/AppData/Roaming/nvm/v18.17.0/npm /mnt/c/Users/user/AppData/Roaming/nvm/v18.17.0/npm.cmd |
17
Dragonphy 225 天前
在 Windows 中执行 `winget install -e --id OpenJS.NodeJS`
|
18
hahade OP 感谢大家回复我,现在统一回复一下:我的项目都在 Windows 上,WSL 只是好奇才安装的。我的项目运行不需要 WSL 。此问题我卸载 WSL 后就解决了,大概率是因为安装 WSL 后导致 CMD 在执行中有部分命令行的上下文环境跑到 WSL 中去了。可能是微软想让 CMD 与 WSL 共享命令执行环境所致。
|