执行yarn run webpack:dev报错[Errno 2] No such file or directory: 'run'求助
解决Yarn 0.27执行
yarn run webpack:dev报错"[Errno 2] No such file or directory: 'run'"的问题 问题分析
你在Linux Mint 18.3上使用Yarn 0.27版本执行yarn run webpack:dev时遇到了[Errno 2] No such file or directory: 'run'的错误,这个问题主要和老旧Yarn版本的兼容性、命令写法或环境配置有关。结合你提供的package.json脚本配置,我们可以从以下几个方向解决:
解决方案
1. 省略run直接执行脚本
早期版本的Yarn并不强制要求用run命令触发脚本,直接使用yarn <脚本名>就能执行。试试运行:
yarn webpack:dev
这个操作可以绕开老版本Yarn对run命令的解析bug。
2. 检查Yarn的PATH配置
如果系统找不到yarn命令的正确路径,可能会错误地把run识别成独立的可执行文件。先执行以下命令确认Yarn是否在系统PATH中:
which yarn
如果没有输出结果,说明Yarn未被正确添加到PATH。可以按以下步骤修复:
- 打开你的shell配置文件(比如
~/.bashrc或~/.zshrc) - 添加一行配置:
export PATH="$HOME/.npm-global/bin:$PATH"(如果Yarn是通过npm全局安装的) - 执行
source ~/.bashrc(或对应的配置文件)使更改生效
3. 升级Yarn到稳定版本
Yarn 0.27是2017年的老旧版本,存在大量已知兼容性问题和bug。升级到最新稳定版本能从根源解决这类问题:
# 通过npm全局升级 npm install -g yarn # 或者如果你是通过apt安装的,执行: sudo apt update && sudo apt upgrade yarn
4. 修正package.json脚本的语法
注意到你提供的脚本里出现了&&,这是HTML转义后的符号,实际在package.json中应该用&&来串联命令。如果你的实际package.json里确实是&&,请替换为&&,否则脚本执行会失败。例如将:
"webpack:build": "yarn run ngc && webpack --config webpack/webpack.vendor.js && webpack --config webpack/webpack.dev.js"
改为:
"webpack:build": "yarn run ngc && webpack --config webpack/webpack.vendor.js && webpack --config webpack/webpack.dev.js"
验证
完成上述步骤后,再次尝试执行yarn webpack:dev(或升级后使用yarn run webpack:dev),应该可以正常启动webpack-dev-server了。
内容的提问来源于stack exchange,提问作者Cesar Manuel
相关产品推荐
相关产品推荐

