执行Yarn命令报错:../package.json名称含非法字符且未生成yarn.lock文件
Yarn使用问题解决
1. 解决../package.json: Name contains illegal characters错误
- 报错指向上级目录的package.json,而非当前React项目的。Yarn会自动向上查找配置文件,若父目录的package.json中
name字段不符合规范就会触发该错误。 - 规范要求
name只能包含小写字母、数字、连字符(-)、下划线(_)、@符号,不能有空格、中文或其他特殊字符。找到父目录的package.json,将name修改为合法值(比如my-parent-folder);如果父目录不需要这个文件,直接删除即可。
2. 解决yarn.lock文件未生成的问题
- 确保用Yarn初始化项目:创建React项目时执行
yarn create react-app my-app,而非先通过npm创建再切换Yarn,这样初始化阶段就会自动生成yarn.lock。 - 手动生成锁文件:若项目已存在,在项目根目录执行
yarn install,Yarn会扫描依赖并生成yarn.lock。 - 检查.gitignore配置:打开项目根目录的.gitignore文件,确认没有把
yarn.lock加入忽略规则,若有则删除对应的行。 - 检查Yarn配置:执行
yarn config get lockfile,如果返回false,运行yarn config set lockfile true开启锁文件生成功能。
内容的提问来源于stack exchange,提问作者Dabbindougbug
相关产品推荐
相关产品推荐

