Composer Json 正则表达式模式验证错误 ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.] ?|-{0,2})[a-z0-9]+)*$
Composer Json Validation Error for regex pattern ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$
所以我尝试将 composer 和 laravel 安装到 Phpstorm 中,但现在似乎在 php 中安装 composer.json
文件时出现问题。 PHP
版本为 7.4.8
。错误码如下图
"./composer.json" does not match the expected JSON schema:
- name : Does not match the regex pattern ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$
我试图查找它以寻求帮助,但它并没有让我走得足够远,所以我想知道是否有人可以帮助我解决这个问题。
这就是我的 composer.json 的样子。
{
"name": "vendor_name/PhpProjec",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
您可能正在使用 Composer v2 吗?当我使用 Composer v1 在我的本地环境中使用给定的 JSON 时,它告诉我:
Deprecation warning: Your package name vendor_name/PhpProjec is invalid, it should not contain uppercase characters. We suggest using vendor_name/php-projec instead. Make sure you fix this as Composer 2.0 will error.
我的系统上没有出现您提供的错误消息。如果您使用其他包名后仍然遇到问题,请分享更多详细信息
composer 从 v1.9 开始区分大小写...
所以将“PhpProject”更改为“phpproject”
{
"name": "vendor_name/phpproject",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
问题出在“名称” 属性
- name : Does not match the regex pattern ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$
相应地更改“名称”属性"vendor-name/project-name"
例如:"name": "nismi/my-php-project"
轻松修复转到 composer.json
文件查找大写的位置,例如 Izupay/PayMent 到 izupay/payment 这将修复错误。
{
"name": "IzuPay/PayMent",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
有效答案是:
{
"name": "izupay/payment",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
这很可能与您使用的 Composer 版本有关。
在 Composer 2.0 版之前,名称可以包含任何字符,包括空格。
但是,从 2.0 版开始:
- 名称可以由以 -, 分隔的单词组成。或 _.
- 完整名称应匹配 ^a-z0-9/a-z0-9$.
- 名称必须 小写(所以不是
vendor_name/PhpProjec
,而是 vendor_name/phpprojec
所以我尝试将 composer 和 laravel 安装到 Phpstorm 中,但现在似乎在 php 中安装 composer.json
文件时出现问题。 PHP
版本为 7.4.8
。错误码如下图
"./composer.json" does not match the expected JSON schema:
- name : Does not match the regex pattern ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$
我试图查找它以寻求帮助,但它并没有让我走得足够远,所以我想知道是否有人可以帮助我解决这个问题。
这就是我的 composer.json 的样子。
{
"name": "vendor_name/PhpProjec",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
您可能正在使用 Composer v2 吗?当我使用 Composer v1 在我的本地环境中使用给定的 JSON 时,它告诉我:
Deprecation warning: Your package name vendor_name/PhpProjec is invalid, it should not contain uppercase characters. We suggest using vendor_name/php-projec instead. Make sure you fix this as Composer 2.0 will error.
我的系统上没有出现您提供的错误消息。如果您使用其他包名后仍然遇到问题,请分享更多详细信息
composer 从 v1.9 开始区分大小写... 所以将“PhpProject”更改为“phpproject”
{
"name": "vendor_name/phpproject",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
问题出在“名称” 属性
- name : Does not match the regex pattern ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$
相应地更改“名称”属性"vendor-name/project-name"
例如:"name": "nismi/my-php-project"
轻松修复转到 composer.json
文件查找大写的位置,例如 Izupay/PayMent 到 izupay/payment 这将修复错误。
{
"name": "IzuPay/PayMent",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
有效答案是:
{
"name": "izupay/payment",
"description": "description",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "***",
"email": "email@example.com"
}
],
"require": {
"barryvdh/laravel-ide-helper": "v2.7.0"
}
这很可能与您使用的 Composer 版本有关。
在 Composer 2.0 版之前,名称可以包含任何字符,包括空格。
但是,从 2.0 版开始:
- 名称可以由以 -, 分隔的单词组成。或 _.
- 完整名称应匹配 ^a-z0-9/a-z0-9$.
- 名称必须 小写(所以不是
vendor_name/PhpProjec
,而是vendor_name/phpprojec