1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita CLIの導入手順まとめ|Node.jsインストールからGitHub連携まで

1
Posted at

はじめに

Qiitaを利用してはや2年……。
今更ですが、Qiita CLIとGitHub連携を使った記事投稿環境を作ってみました!

この記事では、Node.jsのインストールからQiita CLI導入、GitHub連携、記事投稿までを、初心者向けに実際の画面付きでまとめています。

この記事はこんな人向け

  • QiitaとGitHubを連携してみたい人
  • Qiita CLIを使って記事管理してみたい人
  • ローカル環境で記事を書きたい人
  • GitやGitHubに少し触れ始めた初心者
  • 「README通りにやったのにエラーが出た…」を解決したい人

※この記事の画面やUIは2026年5月時点のものです。
今後変更される可能性があります。

Node.jsのインストール手順

・公式サイトより「Node.jsを入手」ボタンを押す

image.png

・下の方にスクロールすると直接PCにインストールするボタンがあるのでこちらを選択
※ご自身のPCにあったものを選択する必要がある

image.png

・ダウンロードしたファイルを実行してインストールする
※この時チェックで選択する項目が表示されるが、基本デフォルトのままで問題なし


インストール確認

以下コマンドを実行し、バージョンが表示されればOKです。

node -v  # このようなバージョンが表示されていればOK→ v24.15.0
npm -v  # このようなバージョンが表示されていればOK→ 11.12.1

Qiita CLIをインストール

ここからはこちらのREADMEに沿って進めていきます

  1. 作業フォルダを作る
    ・まず適当な場所にフォルダ作る
    例:C:\Users\ユーザー名\qiita-project
     

  2. コマンドでそのフォルダに移動
    cd qiita-project
     

  3. Qiita CLIをインストール
    npm install @qiita/qiita-cli --save-dev
    実行結果は以下のようなものでした
    image.png

  4. バージョン表示されるか確認

>npx qiita version

# ◇ injected env (0) from .env // tip: ⌘ suppress logs { quiet: true }
# 1.8.0

初期化(init)

Qiita CLI用の設定ファイルをまとめて生成します。
npx qiita init

このコマンドによって以下が生成され、この時点で「記事を書く準備」が整う
・.gitignore
・qiita.config.json(設定ファイル)
・.github/workflows/publish.yml(GitHub連携用)
・publicフォルダ(記事置き場)

GitHubリポジトリ作成

ここで、GitHub で新規作成
理由として

  • initで作られたファイルをそのまま管理できる
  • 後から追加するよりシンプル

作成手順

Githubへログイン
新しいリポジトリを作成(右上の「+」→ New repository)
 
設定(以下のような感じでOK)
Repository name → qiita-project(なんでもOK)
Public / Private → どちらでも(内容による。あとでPrivateでもOK

 

Qiita のトークンを発行する

Qiitaに「このPCから操作していいよ」と許可を出す。

  1. トークンを作る
    https://qiita.com/settings/tokens/new
    以下のような設定となっていることを確認して「発行する」を押下
    ※発行された文字列はコピーしておく
    image.png

Qiita CLI のログインし、トークンを登録

以下のコマンドで発行したトークンの登録を行うことで、Qiitaアカウントと接続完了する
npx qiita login

image.png

QiitaトークンをGitHubに設定

作成したリポジトリの設定からGitHub ActionsのSecretsを設定を行う

Settings > Secrets and variables > Actions > New repository secret から設定

image.png

image.png

ローカルとGitHubをつなぐ

作業フォルダに移動
cd 作業フォルダ名
 
Git初期化
git init

ファイル追加・保存
git add .
git commit -m "first commit"

GitHubと接続
git remote add origin https://github.com/あなたの名前/リポジトリ名.git

プッシュ
git push -u origin main

push時のエラー①

 ! [remote rejected] main -> main (refusing to allow an OAuth App to create or update workflow `.github/workflows/publish.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/ユーザー名/リポジトリ名.git'

原因

  • GitHub「workflow権限ないから拒否」されている状態
  • Qiita CLIではGitHub Actions用ファイル(.github/workflows/publish.yml)を扱うため、通常の権限だけではpushできません。

解決方法

  • 「Generate new token (classic)」で「repo」「workflow」にチェックを入れてあらたに作成
  • 再度git push -u origin mainを実行
  • 表示される画面で認証アカウントを新たに追加し、発行されたトークンを入力すればエラーは発生せず、無事にpushされた

記事作成のためのファイルを作成する(例)

コマンドで作成する事で、publicフォルダにファイルができる
npx qiita new test-article
 
自分の好きなエディタを使用して中身を記述する
作成されたファイルを見ると以下のようになっています

---
title: test-article
tags:
  - ''
private: false
updated_at: ''
id: null
organization_url_name: null
slide: false
ignorePublish: false
---
# new article body

編集する場所は以下の通りです

---
title: test-article   ← ★ここは変更する(記事タイトル)
tags:
  - 'test'               ← ★必ずタグ入れる(例:Docker, 初心者)
private: false       ← 公開するならそのまま
updated_at: ''       ← 触らない
id: null             ← 触らない
organization_url_name: null ← 触らない
slide: false         ← 必要なければそのまま
ignorePublish: false ← そのままでOK
---

# Qiita CLIを使ってみた

今回はQiita CLIを使って記事を書いてみました。

## やったこと
- Node.jsをインストール
- Qiita CLIを導入

投稿する

記事の作成が完了したら以下コマンドを実行

git add .
git commit -m "記事作成"
git push

push時のエラー②

既にQiitaに記事投稿している場合(10個既に投稿している。とかの場合)

> git push
To https://github.com/ユーザー名/リポジトリ名.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'https://github.com/ユーザー名/リポジトリ名.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

原因

GitHub側に既存の履歴(READMEなど)があり、ローカル履歴と一致していない状態です。

イメージとしては以下のような感じです。
 
あなたのPC(ローカル)
↕ 不一致
GitHub(リモート)

解決方法

  • GitHubの内容(READMEなど)+ ローカル内容 = 合体させる
    git pull origin main --allow-unrelated-histories
     
  • 「MERGE_MSG」というファイルが開く
    合体を記録するメッセージを書いてね。というようなファイル。
    ココでは特に中身を記載しないで「Commit」ボタンを押下すればOK
     
  • 再度git pushして、問題がなければ無事にpushされる

さいごに

今回は、Qiita CLIとGitHub連携を使った記事投稿環境を作成してみました。
最初は、

  • Node.js?
  • GitHub Actions?
  • トークン?
  • workflow権限?

など、聞き慣れない言葉が多く少し苦戦しました。

ただ、一度環境を作ってしまえば、

  • ローカルで記事を書ける
  • GitHubでバックアップ管理できる
  • 修正履歴を残せる
  • エディタで快適に執筆できる

など、かなり便利だと感じています。

特に「記事をコードとして管理する感覚」は、普段ブラウザ投稿だけだった自分には新鮮でした。

これからQiita CLIを導入してみたい方の参考になれば嬉しいです!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?