こんにちわlisです!
VSCode拡張を「vsce publish」でリリースしようとしたところ、エラーが発生してリリースすることができませんでした。
エラーの原因と、解決する手順についてです!
- エラー内容
- エラー出力データをチェックする。
- "Access Denied: The Personal Access Token used has expired."を解決していく
- 新しいトークンを使ってログイン
- VSCode拡張をリリース
- 参考
- あとがき
エラー内容
VSCodeの拡張をリリースしようとして、「vsce publish」を叩きました。
するとこのようなエラーが……
>vsce publish minor v0.3.0 This extension consists of 2121 files, out of which 1548 are JavaScript files. For performance reasons, you should bundle your extension: https://aka.ms/vscode-bundle-extension . You should also exclude unnecessary files by adding them to your .vscodeignore: https://aka.ms/vscode-vscodeignore Publishing lis.hatenablogtools@0.3.0... ERROR {"$id":"1","customProperties":{"Descriptor":null,"IdentityDisplayName":null,"Token":null,"RequestedPermissions":0,"NamespaceId":"00000000-0000-0000-0000-000000000000"},"innerException":nul l,"message":"Access Denied: The Personal Access Token used has expired.","typeName":"Microsoft.VisualStudio.Services.Security.AccessCheckException, Microsoft.VisualStudio.Services.WebApi","typeKey":"AccessCheckException","errorCode":0,"eventId":3000}
エラー出力データをチェックする。
出力されたJSONをチェックするために、整形して
{ "$id": "1", "customProperties": { "Descriptor": null, "IdentityDisplayName": null, "Token": null, "RequestedPermissions": 0, "NamespaceId": "00000000-0000-0000-0000-000000000000" }, "innerException": null, "message": "Access Denied: The Personal Access Token used has expired.", "typeName": "Microsoft.VisualStudio.Services.Security.AccessCheckException, Microsoft.VisualStudio.Services.WebApi", "typeKey": "AccessCheckException", "errorCode": 0, "eventId": 3000 }
眺めると
"message": "Access Denied: The Personal Access Token used has expired.", (訳) "メッセージ": "アクセス拒否:使用されたパーソナルアクセストークンの有効期限が切れています。"
「クセストークンの有効期限切れ」が原因のようですね。
"Access Denied: The Personal Access Token used has expired."を解決していく
それではこのエラーを解決すべく、アクセストークンの再発行をしていきましょう!
Access Tokenの再発行
以前リリースするために作成したアクセストークンが有効期限切れで無効になっていたようです。
ということで、まずはマーケットプレイスにサインインします。
自分のアカウント情報にアクセスします。
プロジェクトを選択。
自分のアイコンの左にある、ボタンを押すとメニューが出てきます。
ここから「Personal access tokens」を選択。
「New Token」をクリックしてアクセストークンの作成をしていきましょう!
入力/選択する項目は
項目 | 入力値 |
---|---|
Name | 任意の名前 |
Organization | All accessible organizations |
Expiration (UTC) | Custom defined - 最長に設定 |
Scopes | Custom defined |
Marketplace | 全てチェック |
保存するとアクセストークンが表示されるので、すかさずコピー!
新しいトークンを使ってログイン
vsce loginを使ってログイン→アクセストークンを書き換えします。
>vsce login <ユーザ名> Publisher '<ユーザ名>' is already known Do you want to overwrite its PAT? [y/N]
ログインしようとすると
「そのユーザもう知ってるよ。PAT(アクセストークン)上書きする?」
と聞いてきます。
「Y」を入力後、さきほどコピーしたアクセストークンを貼り付けてEnterしましょう。
これでアクセストークンが新しいものになりました!
VSCode拡張をリリース
あとは拡張をリリースするだけです!
> vsce publish
で拡張がリリースできます!
参考
コチラを参考にしました。ありがとうございました!
あとがき
vsce publishでのエラーを解決する方法でした!
久々にHatenaBlogToolsを更新しようと思ったら、発生したのでビックリしました……
とはいえ、蓋を開けたら大したことなかったんですが……
同じようなエラーが出たら是非参考にしてみてください!