Vtex.IO执行vtex link命令报name字段格式校验错误求助
问题背景
执行vtex link命令建立本地项目与线上店铺关联时返回报错:
PS C:\Git\atmosphere> vtex link 21:09:36.118 - error: Field 'name' may contain only letters, numbers, underscores and hyphens
已完成的前置排查项:
- 检查Manifest文件配置,确认无明显错误
- 使用管理员权限运行命令
- 确认终端执行路径为项目文件所在目录
- 按官方说明安装全部项目依赖
问题诱因
该报错的校验范围不局限于本地manifest.json的name字段,CLI执行link操作时会依次校验所有涉及身份标识的name字段,任意一项不符合仅可包含字母、数字、下划线、连字符的规则都会触发报错,容易被忽略的常见诱因包括:
- 当前选中的VTEX workspace名称包含非法字符、大写字母、空格
- 本地项目的完整路径(从盘符到项目根目录的任意一级文件夹名)包含中文、全角字符、特殊符号、空格
manifest.json内的vendor、name字段存在大写字母(多数用户排查时只关注特殊符号,遗漏VTEX要求这两个字段必须全小写的规则)- CLI本地登录缓存异常,缓存的账户、工作区标识包含非法字符
修复步骤
按以下顺序逐一排查修复即可:
- 执行
vtex workspace list查看当前所处工作区,确认工作区名称符合命名规则。如果名称含非法字符,执行vtex workspace create <合规工作区名称>新建全小写、无特殊字符的工作区,再执行vtex workspace use <新建的工作区名称>切换后重试。 - 检查从盘符到项目根目录的完整路径,确认每一级文件夹名称都不含中文、空格、全角字符、特殊符号(如&、@、括号、中文标点等),如果存在违规字符,重命名对应文件夹后重新打开终端进入项目目录重试。
- 重新打开项目根目录下的
manifest.json,检查vendor和name两个字段,确保两个字段全部为小写字母,仅搭配数字、下划线、连字符使用,无其他字符,修改保存后重试。 - 以上操作都无效时,执行
vtex logout退出当前账号,再执行vtex login <你的VTEX账户名>重新登录,清除本地异常缓存后再执行link命令。
内容的提问来源于stack exchange,提问作者sirtoledo
相关产品推荐
相关产品推荐

