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

React与Svelte项目npm start/npm run dev无法运行求助

解决"rollup: command not found"及同类依赖命令找不到问题

问题描述

作为JS框架新手,此前正常运行的Svelte项目,今日执行npm run dev报错提示sh: rollup: command not found;React项目执行npm start也出现同类错误。即使新建React/Svelte项目问题依旧,已尝试卸载并更新Node.js至最新版本,仍未解决。

用户提供的Svelte项目package.json:

{
  "name": "svelte-app",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "build": "rollup -c",
    "dev": "rollup -c -w",
    "start": "sirv public --no-clear --port 8080"
  },
  "devDependencies": {
    "@rollup/plugin-commonjs": "^17.0.0",
    "@rollup/plugin-node-resolve": "^11.0.0",
    "rollup": "^2.3.4",
    "rollup-plugin-css-only": "^3.1.0",
    "rollup-plugin-livereload": "^2.0.0",
    "rollup-plugin-svelte": "^7.0.0",
    "rollup-plugin-terser": "^7.0.0",
    "svelte": "^3.0.0"
  },
  "dependencies": {
    "sirv-cli": "^2.0.0"
  }
}

解决方案

  • 重新安装本地依赖
    删除项目根目录下的node_modules文件夹和package-lock.json文件,然后执行:

    npm install
    

    修复可能损坏的依赖文件或未正确安装的包。

  • 用npx调用本地依赖命令
    修改package.json中的scripts字段,通过npx指定使用本地安装的命令工具,避免全局环境冲突:

    "scripts": {
      "build": "npx rollup -c",
      "dev": "npx rollup -c -w",
      "start": "npx sirv public --no-clear --port 8080"
    }
    

    npx会自动从项目的node_modules/.bin目录查找对应命令,无需全局安装。

  • 清理npm缓存
    执行以下命令清除npm缓存,避免缓存导致的依赖异常:

    npm cache clean --force
    

    之后重新执行npm install安装依赖。

  • 检查Node版本兼容性
    部分旧版本依赖(如项目中的rollup@2.3.4)可能与最新Node.js版本存在兼容性问题。可以使用nvm(Node版本管理器)切换到兼容的Node版本(如v14或v16),再重新安装依赖。

  • 验证npm环境变量
    确认node_modules/.bin目录已加入系统PATH:

    • Linux/macOS:执行echo $PATH查看,若未包含,可在终端配置文件(如/.bashrc或/.zshrc)中添加:
      export PATH="./node_modules/.bin:$PATH"
      
      执行source ~/.bashrc(对应配置文件)生效。
    • Windows:在系统环境变量中添加.\node_modules\.bin到PATH。

内容的提问来源于stack exchange,提问作者Moses Chukwudi Nwigberi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:45:54