Ubuntu下npm运行报错Error: Cannot find module ‘node:path‘

执行了apt install npm安装了npm,然后又执行 npm install -g npm更新了一下,执行

     npm run serve

出现奇怪现象,在安装npm的终端里执行这个命令就可以运行,再打开一个新的终端在同样的环境下执行这个命令就是报错,执行简单的npm -v命令也得到的结果都一样,都是报这个错误:

internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'node:path'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/cli.js:10:18)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

网上说这种错误是npm的版本和node的版本对不上造成的,但是没注意我安装了哪些npm都安装到哪里了,开始没想到费劲折腾了些时间没搞定,后来无意查看两个终端下npm的真实位置,发现可以正常运行的是/usr/bin/npm,实际是通过链接指向/usr/share/npm/bin/npm-cli.js,运行报错的是/usr/local/bin/npm 指向 /usr/local/lib/node_modules/npm/bin/npm-cli.js,查看后者node_modules/npm/package.json里的版本号是11.1.0,而/usr/bin/npm -v得到的是6.14.0,

node -v获得的node版本是v10.19.0,使用6.14.0的npm是适配的,使用11.1.0版npm显然是高了,问题很清楚了,解决办法是把/usr/local/bin/npm链接删掉,重新创建链接指向/usr/bin/npm,然后在新打开的终端里运行 npm run serve就可以了 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arnold-FY-Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值