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就可以了 。

相关推荐
lastHertz2 天前
openskill 实战指南:像管理 npm 包一样管理你的 AI Skill
前端·人工智能·npm
qq_589666053 天前
npm install npm install -g @vue/cli 分别是什么意思以及安装路径
前端·vue.js·npm
Dreamboat-L4 天前
NVM的安装与使用(保姆级教程)
npm·node.js
无责任此方_修行中5 天前
踩坑实录:为什么 `pnpm run` 会偷偷帮你装依赖?—— 浅析 pnpm 与 npm run 的底层差异
javascript·后端·npm
特立独行的猫a5 天前
HarmonyOS鸿蒙PC三方库移植:Node.js 三方库鸿蒙 PC 移植指南
华为·node.js·node·harmonyos·三方库移植·鸿蒙pc
ShiXZ2137 天前
指令集-NPM 常用指令速查手册
前端·npm·node.js
是烨笙啊7 天前
从 npm 与 Bun 的选择看 AI 时代的“最佳实践”焦虑
前端·人工智能·npm
小杍随笔7 天前
【 .npmrc 终极配置指南:统一管理 npm/pnpm 缓存与全局目录,告别磁盘混乱】
前端·缓存·npm
ppshuX8 天前
npm-cli-造轮子初体验
npm
前端工作日常9 天前
我学习到的npx内部实现机制
npm