LIFF CLI
- LIFF CLIとは
- LIFF CLIの動作環境
- LIFF CLIをインストールする
- チャネルを管理する
- LIFFアプリを管理する
- LIFFアプリのひな形を作成する
- LIFFアプリの開発環境を作成する
- ローカル開発サーバーをHTTPSで起動する
LIFF CLIとは
LIFF CLIとは、LIFFアプリの開発を円滑にするCLIツールです。
LIFF CLIでできることは次のとおりです。
- LIFFアプリを作成、更新、参照、削除する
- LIFFアプリの開発環境を作成する
- LIFFアプリをLIFF Inspectorでデバッグする
- ローカル開発サーバーをHTTPSで起動する
今後のアップデートでLIFF Mockの機能も追加される予定です。
LIFF CLIの動作環境
LIFF CLIはNode.jsで動作します。パッケージ管理にはnpmまたはYarnが使用可能ですが、このページではnpmを使います。このページの内容は次の各バージョンで動作を確認しています。
| 名前 | バージョン |
|---|---|
| LIFF CLI | 0.4.1 |
| LIFF SDK | 2.24.0 |
| Node.js | 22.2.0 |
| npm | 10.7.0 |
LIFF CLIをインストールする
ターミナルまたはコマンドラインツール(以下「ターミナル」と言います)を開き、次のコマンドを実行します。
コマンドを実行すると、LIFF CLIがインストールされ、liff-cliコマンドを実行できるようになります。
チャネルを管理する
channelコマンドを使うと、LIFF CLIで管理するチャネルを追加したり、デフォルトのチャネルを設定したりできます。なお、チャネルはあらかじめLINE Developersコンソールで作成する必要があります。
チャネルを追加する
addサブコマンドを使うと、LIFF CLIで管理するチャネルを追加できます。追加したいチャネルのチャネルIDをaddサブコマンドに渡すと、チャネルシークレットを入力するプロンプトが表示されます。チャネルシークレットを入力すると、チャネルが追加されます。
LIFF CLIの各コマンドにチャネルIDを渡す際は、上記のように、あらかじめaddサブコマンドでそのチャネルIDを持つチャネルを追加しておく必要があります。
デフォルトのチャネルを設定する
useサブコマンドを使うと、LIFF CLIのデフォルトのチャネルを設定できます。設定したいチャネルのチャネルIDをuseサブコマンドに渡します。
デフォルトのチャネルは、LIFF CLIの各コマンドでチャネルIDを省略した場合に使われます。
LIFFアプリを管理する
appコマンドを使うと、LIFFアプリの作成、更新、参照、削除ができます。
LIFFアプリを作成する
createサブコマンドを使うと、LIFFアプリを作成できます。LIFFアプリの作成に成功すると、LIFF IDがターミナルに表示されます。
オプション
createサブコマンドでは、以下のオプションを利用できます。
| オプション | 必須 | 説明 |
|---|---|---|
-c、--channel-id | LIFFアプリを作成したいチャネルのチャネルIDを指定します。省略すると、デフォルトのチャネルのチャネルIDが指定されます。 | |
-n、--name | ✅ | LIFFアプリ名を指定します。LIFFアプリ名には、「LINE」またはそれに類する文字列、不適切な文字列は含めることができません。 |
-e、--endpoint-url | ✅ | LIFFアプリのエンドポイントURLを指定します。LIFFアプリを実装したウェブアプリのURLです(例: URLスキームはhttpsである必要があります。なお、URLフラグメント(#URL-fragment)は指定できません。 |
-v、--view-type | ✅ | LIFFアプリの画面サイズ。以下のいずれかの値を指定します。
|
LIFFアプリを更新する
updateサブコマンドを使うと、LIFFアプリの設定を更新できます。
オプション
updateサブコマンドでは、以下のオプションを利用できます。
| オプション | 必須 | 説明 |
|---|---|---|
--liff-id | ✅ | 更新したいLIFFアプリのLIFF IDを指定します。 |
--channel-id | LIFFアプリが属するチャネルのチャネルIDを指定します。省略すると、デフォルトのチャネルのチャネルIDが指定されます。 | |
--name | LIFFアプリ名を指定します。LIFFアプリ名には、「LINE」またはそれに類する文字列、不適切な文字列は含めることができません。 | |
--endpoint-url | LIFFアプリのエンドポイントURLを指定します。LIFFアプリを実装したウェブアプリのURLです(例: URLスキームはhttpsである必要があります。なお、URLフラグメント(#URL-fragment)は指定できません。 | |
--view-type | LIFFアプリの画面サイズ。以下のいずれかの値を指定します。
|
LIFFアプリを参照する
listサブコマンドを使うと、LIFFアプリを参照できます。LIFF IDとLIFFアプリ名が一覧で表示されます。
オプション
listサブコマンドでは、以下のオプションを利用できます。
| オプション | 必須 | 説明 |
|---|---|---|
--channel-id | LIFFアプリを参照したいチャネルのチャネルIDを指定します。省略すると、デフォルトのチャネルのチャネルIDが指定されます。 |
LIFFアプリを削除する
deleteサブコマンドを使うと、LIFFアプリを削除できます。
オプション
deleteサブコマンドでは、以下のオプションを利用できます。
| オプション | 必須 | 説明 |
|---|---|---|
--liff-id | ✅ | 削除したいLIFFアプリのLIFF IDを指定します。 |
--channel-id | LIFFアプリの属するチャネルのチャネルIDを指定します。省略すると、デフォルトのチャネルのチャネルIDが指定されます。 |
LIFFアプリのひな形を作成する
scaffoldコマンドを使うと、Create LIFF Appを通じてLIFFアプリのひな形を作成できます。LIFFアプリのプロジェクト名をscaffoldコマンドに渡すと、そのプロジェクト名を使ってCreate LIFF Appを実行します。
Create LIFF Appについて詳しくは、「Create LIFF AppでLIFFアプリの開発環境を構築する」を参照してください。
オプション
scaffoldコマンドでは、以下のオプションを利用できます。
| オプション | 必須 | 説明 |
|---|---|---|
-l、--liff-id | LIFFアプリのLIFF IDを指定します。 |
LIFFアプリの開発環境を作成する
initコマンドを使うと、LIFFアプリの開発環境を作成できます。initコマンドでは、以下の3つの処理を順に行います。
たとえば、上記のコマンドを実行すると、チャネルIDが「1234567890」のチャネルを追加します。次に、そのチャネルに、LIFFアプリ名が「Brown Coffee」、エンドポイントURLが「https://example.com」、画面サイズが「Full」のLIFFアプリを作成します。最後に、作成したLIFFアプリのLIFF IDを設定したひな形を作成します。
オプション
initコマンドでは、以下のオプションを利用できます。なお、オプションを省略すると、initコマンドを実行した際に、そのオプションを入力するプロンプトが表示されます。
| オプション | 必須 | 説明 |
|---|---|---|
-c、--channel-id | ✅ ※1 | LIFFアプリを作成したいチャネルのチャネルIDを指定します。 |
-n、--name | ✅ ※2 | LIFFアプリ名を指定します。LIFFアプリ名には、「LINE」またはそれに類する文字列、不適切な文字列は含めることができません。 |
-v、--view-type | ✅ ※2 | LIFFアプリの画面サイズ。以下のいずれかの値を指定します。
|
-e、--endpoint-url | LIFFアプリのエンドポイントURLを指定します。LIFFアプリのデプロイ先のURLです(例: URLスキームはhttpsである必要があります。なお、URLフラグメント(#URL-fragment)は指定できません。 |
※1 デフォルトのチャネルを設定していない場合、オプションかプロンプトのいずれかで指定する必要があります。
※2 オプションかプロンプトのいずれかで指定する必要があります。
ローカル開発サーバーをHTTPSで起動する
serveコマンドを使うと、ローカル開発サーバーをHTTPSで起動できます。
serveコマンドにLIFFアプリが動いているローカル開発サーバーを指定すると、ローカル開発サーバーを対象とするローカルプロキシサーバーをHTTPSで起動し、LIFFアプリのエンドポイントURLをローカルプロキシサーバーのURLで書き換えます。これにより、開発者はより簡単にローカル開発サーバーをHTTPSで起動できます。
serveコマンドを実行すると、LIFFアプリのエンドポイントURLがローカルプロキシサーバーのURLで書き換えられるため、ユーザーがLIFFアプリにアクセスできなくなります。そのため、公開済みのLIFFアプリではserveコマンドを実行しないでください。

LIFFアプリをLIFF Inspectorでデバッグする
serveコマンドに--inspectオプションを指定すると、LIFFアプリをLIFF Inspectorでデバッグできます。
--inspectオプションは、LIFF InspectorのLIFF Inspector ServerをHTTPSで起動するため、開発者はLIFFアプリにLIFF Inspector PluginをインストールするだけでLIFFアプリをデバッグできます。詳しくは、LIFF InspectorのREADMEを参照してください。
LIFF URLにアクセスすると、serveコマンドを実行したターミナルにdevtools://devtools/から始まるURLが表示されます。このURLをGoogle Chromeで開くと、LIFFアプリをGoogle Chrome上でデバッグできます。
ローカル開発サーバーを外部に公開する
LIFF CLIでは、プロキシとしてngrokをサポートしています。ngrokを使用するには、serveコマンドの--proxy-typeオプションに以下のいずれかの値を指定します。
プロキシの種類:ngrok
--proxy-typeオプションにngrokを指定すると、ローカルプロキシサーバーの代わりにngrokを使うことができます。これにより、ローカルの開発サーバーを外部に公開できます。ngrokを使用する際は、環境変数としてNGROK_AUTHTOKENにngrokの認証トークンを設定してください。
プロキシの種類:ngrok-v1(非推奨)
ngrok v1はすでに開発やメンテナンスを終了しているため、ngrok-v1は非推奨です。ngrokを使用する際は、プロキシの種類にngrokを指定してください。
--proxy-typeオプションにngrok-v1を指定すると、ローカルプロキシサーバーの代わりにngrok v1を使うことができます。これにより、ローカル開発サーバーを外部に公開できます。なお、この機能を使うには、ngrok v1とnode-ptyを別途インストールする必要があります。
serveコマンドの動作条件
serveコマンドが動作するには、次の条件をすべて満たす必要があります。
- localhostに対して有効な証明書(
localhost.pem)と秘密鍵(localhost-key.pem)を作成する。 localhost.pemとlocalhost-key.pemを作成した場所(例:LIFFアプリのプロジェクトのルートディレクトリ)でserveコマンドを実行する。
次の手順に従って、localhostに対して有効な証明書(localhost.pem)と秘密鍵(localhost-key.pem)を作成してください。ここではmkcertを使います。mkcertについて詳しくは、mkcertのREADMEを参照してください。
- 次のコマンドを実行し、
mkcertをインストールします。
mkcert -installを実行し、ローカル認証局を作成します。
mkcert localhostを実行し、localhostに対して有効な証明書(localhost.pem)と秘密鍵(localhost-key.pem)を作成します。
オプション
serveコマンドでは、以下のオプションを利用できます。
| オプション | 必須 | 説明 |
|---|---|---|
-l、 --liff-id | ✅ | ローカル開発サーバーのLIFFアプリのLIFF IDを指定します。デフォルトのチャネルのLIFFアプリのLIFF IDのみを指定できます。 |
-u、 --url | ✅ ※1 | ローカル開発サーバーのURLを指定します。 |
--host | ✅ ※2 | ローカル開発サーバーのホストを指定します。 |
--port | ✅ ※2 | ローカル開発サーバーのポート番号を指定します。 |
-i、 --inspect | 指定すると、LIFF Inspectorを起動します。 | |
--proxy-type | 使用するプロキシの種類。以下のいずれかの値を指定します。 デフォルト値はlocal-proxyです。 | |
--ngrok-command | ngrok v1を実行するコマンドを指定します。デフォルト値はngrokです。 | |
--local-proxy-port | ローカル開発サーバーを対象とするローカルプロキシサーバーが待ち受けるポート番号を指定します。デフォルト値は9000です。 | |
--local-proxy-inspector-port | LIFF Inspector Serverを対象とするローカルプロキシサーバーが待ち受けるポート番号を指定します。デフォルト値は9223です。 |
※1 ローカル開発サーバーをURLで指定する場合は必須です。
※2 ローカル開発サーバーをホストとポート番号で指定する場合は必須です。