You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10新项目npm依赖安装失败,Vite命令无法识别

Laravel 10 项目 npm 安装与运行问题解决

问题概述

  • 使用composer create-project laravel/laravel example-app创建Laravel 10新项目
  • 首次执行npm install时报错:npm ERR! Cannot destructure property 'name' of '.for' as it is undefined,日志附带TypeError信息
  • 通过npm init或手动编辑为package.json添加name字段后,再次执行npm install显示up to date in 263ms,但未生成node_modules文件夹
  • 执行npm run dev时提示:vite n’est pas reconnu en tant que commande interne ou externe...(Vite未被识别为内部/外部命令)
  • 当前环境:Node.js v18.16.0、npm v9.6.5(由Node 16升级而来)
  • 已尝试操作:npm cache clean --force && npm install、npm install --include=dev,问题依旧;另一台电脑执行相同步骤无异常

解决方案

1. 恢复Laravel默认的package.json配置

Laravel默认的package.json不需要name字段(因为设置了"private": true),手动添加name反而会导致npm解析异常:

  • 删除项目根目录下的package.json、package-lock.json、node_modules(如果存在)以及vite.config.js
  • 创建新的package.json,粘贴Laravel 10的标准配置:
    {
        "private": true,
        "type": "module",
        "scripts": {
            "dev": "vite",
            "build": "vite build"
        },
        "devDependencies": {
            "@vitejs/plugin-vue": "^4.0.0",
            "laravel-vite-plugin": "^0.7.2",
            "vite": "^4.0.0"
        }
    }
    

2. 清理全局与本地npm缓存

  • 清理全局npm缓存:npm cache clean --force
  • 卸载全局安装的可能冲突包:
    npm uninstall -g vite laravel-vite-plugin
    
  • 重启终端,确保环境变量生效

3. 重新执行安装命令(注意权限)

  • 进入项目根目录,执行npm install,此时应正常下载依赖并生成node_modules
  • Windows用户请以管理员身份运行终端;Linux/macOS用户可先修复目录权限:
    sudo chown -R $USER:$USER ./example-app
    

4. 使用nvm切换到干净的Node版本

版本升级可能残留异常,用Node版本管理器(nvm)切换到稳定的Node 18版本:

nvm install 18.17.0
nvm use 18.17.0

之后重新执行npm install和npm run dev

5. 重新安装npm

如果以上方法都无效,尝试全局重新安装npm:

npm install -g npm@9.6.5

关键提示

最初的Cannot destructure property 'name'错误是因为npm解析到了结构异常的package.json。Laravel的私有项目配置不需要name字段,移除手动添加的name并恢复默认配置即可解决核心问题。

内容的提问来源于stack exchange,提问作者2kali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:10:30