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。
- Linux/macOS:执行
内容的提问来源于stack exchange,提问作者Moses Chukwudi Nwigberi
相关产品推荐
相关产品推荐

