Beberapa waktu yang lalu ketika saya mencoba install package melalui composer setelah clone sebuah project dari github, ada permintaan untuk input personal token github. Kurang lebih seperti ini pesannya.

Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+nama-komputer+2022-04-26+1315
to retrieve a token. It will be stored in "/home/user/.config/composer/auth.json" for future use by Composer.
Token (hidden): 

Setelah input token, composer berhasil install package yang diperlukan.

Nah setelah selang beberapa waktu yang lalu, ketika run kembali composer untuk install maupun buat project baru muncul error. Kurang lebih pesan errornya seperti ini.


  [UnexpectedValueException]                                                   

  Your github oauth token for github.com contains invalid characters: "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"                                  

Ini agak aneh, karena sebelumnya composer dapat digunakan dengan baik. Dan setelah permintaan token sebelumnya, selalu tampil error seperti di atas. Baik mari kita coba cari solusinya.

Setelah googling, dan berkunjung ke stackoverflow, terdapat beberapa saran dan setelah dicoba berhasil. Ada beberapa solusi yang sempat saya coba. Apa saja solusinya? Yuk kita bahas!

Solusi pertama - Update Composer (recommended)

Ya, ternyata solusinya itu cukup mudah. Kita hanya perlu update composer ke versi terbaru yang lebih support format tokennya.

Untuk update composer, buka halaman [download composer][https://getcomposer.org/download/], lalu ikuti petunjuknya, yaitu run beberapa command berikut ini.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

Setelah selesai, supaya bisa digunakan secara global, kita pindahkan file composer.phar.

sudo mv composer.phar /usr/local/bin/composer

Solusi Kedua - Fix secara manual

Cara ini tidak direkomendasikan ketika baca-baca solusi di artikel dan di stackoverflow. Untuk pengetahuan, saya coba tuliskan di sini.

Cara kedua ini adalah dengan mengedit file konfigurasi composer, yaitu auth.json. File ini bisa kita temukan di /home/user/.config/composer/auth.json. Sekarang kita coba buka file auth.json di text editor. Kita bisa lihat baris kode di bawah ini.

    "github-oauth": {
        "github.com": "ghp_[PERSONAL-TOKEN-GITHUB-KAMU]"
    }

Lalu, kita ubah dari github oauth menjadi http-basic.

    "http-basic": {
        "github.com": {
            "username": "[USERNAME-GITHUB-KAMU]",
            "password": "ghp_[PERSONAL-TOKEN-GITHUB-KAMU]"
        }
    }

Setelah selesai save kembali filenya.

Solusi Ketiga - Reinstall menggunakan Brew

Homebrew ini biasanya digunakan di macOs dan uji cobanya pun harus menggunakan macOs atau untuk di ubuntu mesti pakai Homebrew. Dan untuk menginstall composer, bisa langsung run command berikut ini.

brew install composer

dan untuk reinstall, run command.

brew reinstall composer

Dan selesai.

Uji Coba

Setelah mencoba solusi yang sebelumnya saya tulis, saya uji coba dengan cara run composer langsung. Misalkan saya coba untuk menginstall Laravel menggunakan composer.

composer create-project --prefer-dist laravel/laravel blog

Setelah dicoba, composer pun bisa running kembali dan laravel berhasil terinstall.

Penutup

Error composer ini adalah error yang tiba-tiba muncul setelah ada permintaan untuk input personal token github, ketika run composer untuk menginstall package project yang saya clone dari github. Tulisan untuk memperbaiki error ini saya bagikan, supaya ketika teman-teman ketemu error yang sama bisa langsung memperbaiki errornya. Semoga bermanfaat.

Gun Gun Priatna
Software Engineer, Content Writer and Founder qadrlabs.com
Related Article
Komentar

blog comments powered by Disqus