解决npm install时nSyntaxError: Unexpected token '.'问题, Cannot find module '@npmcli/config'问题,operation not permitted问题
解决npm install时nSyntaxError: Unexpected token '.'问题, Cannot find module '@npmcli/config'问题
问题说明
我使用的版本是nvm 1.1.7 node.js 16.20.2 npm 8.19.4
在执行npm install 时候出现nSyntaxError: Unexpected token '.'问题,原因是node.js或npm版本过低。
更新node.js
这里选择LTS版本18.20.4
nvm install 18.20.4
nvm use 18.20.4
再次尝试npm install
此时,出现报错Cannot find module '@npmcli/config'
尝试执行 npm -v,同样报错Cannot find module '@npmcli/config'
重装nvm
尝试unstall,重新install,无效
尝试进入nvm目录,删除残留的nodejs包,无残留
修改为官方镜像源,无效
豆包给出了终极方案:重装nvm
- win + r ,输入control,进入控制面板
- 控制面板点击程序,搜索nvm,卸载
- 打开链接 https://github.com/coreybutler/nvm-windows/releases?use_xbridge3=true&loader_name=forest&need_sec_link=1&sec_link_scene=im 右侧边栏releases,找到对应版本,我下载的是1.1.11,下载setup.exe,双击安装,我选择默认路径
- nvm -v 验证安装成功
- nvm -install 18.20.4
- nvm use 18.20.4
- npm -v 成功输出版本号
重新尝试 npm install
如果是idea,左下角可能会出现个弹窗,选择同意
operation not permitted问题
当我以为大功告成的时候,又报错了
执行 npm run serve 报错节选如下
npm warn tar TAR_ENTRY_ERROR EPERM: operation not permitted, unlink 'D:\java\my-ro
le-system\xw-vue\node_modules\isobject\README.md.DELETE.35e35df18a68b1c6d80fc21d87
fe7a4c'
npm warn tar TAR_ENTRY_ERROR UNKNOWN: unknown error, open 'D:\java\my-role-system\
xw-vue\node_modules\clone-deep\package.json'
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory
. Do not use it. Check out lru-cache if you want a good and tested way to coalesce
解决
- 以管理员身份运行cmd
- cd到所在的vue文件夹下(注意cd无法切换磁盘,用D: 切换,然后再cd)
- 清理残余文件
# 删除本地依赖目录(强制删除所有文件) rd /s /q node_modules # 删除锁文件(避免版本冲突) del package-lock.json del npm-shrinkwrap.json(如果存在)
- 关闭可能影响的应用:代码编辑器,360杀毒,运行中的项目
- 重新尝试安装
npm install --force
- 重新尝试 npm run serve 成功!