【问题标题】:"UnexpectedValueException" on yii2 composer updateyii2 作曲家更新上的“UnexpectedValueException”
【发布时间】:2019-09-28 01:02:57
【问题描述】:

在作曲家更新 yii2 项目时,您的 github.com 的 github oauth 令牌包含无效字符:“UnexpectedValueException”。

当我通过 composer 安装 jui datetimepicker 时,我要求提供 git 令牌来安装它。我已经从 GitLab 生成了令牌并将令牌提供给终端。我还用令牌更改了 composer.json 文件。但它给了我一个“UnexpectedValueException”错误你的 github.com 的 github oauth 令牌包含无效字符。

我尝试了以下解决方案: 1)我已经删除了我的 .git 文件夹并尝试更新作曲家仍然是同样的问题

2) 我已删除供应商并重新安装作曲家不起作用。

3) 我已经删除了 vendor 和 composer.json,并从我的备份中放置了以前的 vendor 和 composer.json 文件。但仍然遇到同样的问题。

4) 我尝试通过以下代码更改令牌:

composer config --global github-oauth.github.com <TOKEN>

5) 同样在 composer.json 中加入如下代码:

{  
  "config": {
    "github-oauth": {
      "github.com": "<TOKEN>"
      }
    }
} 

还是同样的问题。

我的 composer.json 文件如下:

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Application Template",
    "keywords": ["yii2", "framework", "advanced", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "claudejanz/yii2-mygii": "dev-master",
        "bower-asset/jquery": "@stable",
        "bower-asset/jquery.inputmask": "@stable",
        "bower-asset/punycode": "@stable",
        "bower-asset/bootstrap": "@stable",
        "3ch3r46/bootui-datepicker": "1.0.0",
        "yiisoft/yii2-jui": "*",
        "udokmeci/yii2-phone-validator" : "dev-master"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*"
    },
    "suggest": {
        "codeception/codeception": "Codeception, 2.0.* is currently works well with Yii.",
        "codeception/specify": "BDD style code blocks for PHPUnit and Codeception",
        "codeception/verify": "BDD Assertions for PHPUnit and Codeception",
        "yiisoft/yii2-faker": "Fixtures generator for Yii2 based on Faker lib"
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::setPermission"
        ]
    },
    "config": {
        "process-timeout": 1800
    },
    "extra": {
        "writable": [
            "backend/runtime",
            "backend/web/assets",
            "frontend/runtime",
            "frontend/web/assets"
        ],
        "executable": [
            "yii"
        ],
        "asset-installer-paths":    {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    },
    "repositories": [
    {
        "type": "composer",
        "url": "https://asset-packagist.org"
    }
]
}

请人帮忙。

【问题讨论】:

  • Github 身份验证令牌通常存储在~/.composer/auth.json(对于 Linux) - 你检查过那个吗?
  • 在 linux 哪里可以得到这个文件?
  • 我给了你路径。它当然取决于作曲家的全局安装路径,但通常是你的主文件夹。
  • 我找不到这个文件。请建议我如何找到它?
  • 试试composer config -g data-dir。如果它不起作用,请查看 getcomposer.org 上的文档

标签: yii2 gitlab composer-php


【解决方案1】:

我不确定它停止为您工作的原因是什么,但正如我们在 cmets 中讨论的那样,解决方案是更新 auth.json 中存储此 GitHub 令牌的条目。

对于所有寻找此解决方案的人 - auth.json 存储在您的 COMPOSER_HOME 路径中。在控制台中调用可以找到这个路径

composer config -g data-dir

有关 Composer 配置的更多信息,请参阅Composer documentation at getcomposer.org

【讨论】:

  • 在此之后我无法在 gitlab 中提交。给出诸如“致命:无法创建'/var/www/html/project/.git/index.lock':权限被拒绝”之类的错误我认为我的令牌无权在gitlab中添加和提交。你能告诉我在哪里可以创建所有允许访问的令牌吗?
  • 我正在使用 Gitlab
  • 抱歉,不知道在哪里查看活动令牌。不过,我确信在帐户设置中很容易找到。
  • 我开始遇到类似的错误,原因是 github 最近更改了他们的身份验证令牌,我们需要将 composer 更新到其最新版本。在这里留下更多细节:stackoverflow.com/questions/26691681/…
猜你喜欢
  • 2023-04-04
  • 2018-05-08
  • 2016-02-28
  • 2018-11-14
  • 2015-12-01
  • 2015-09-11
  • 2016-08-30
  • 2014-09-07
  • 2016-09-06
相关资源
最近更新 更多