注目キーワード

【node.js】.jsを.exeに変換する方法を解説! – pkgの使い方・手順

はじめに

Javascript(特にnode.js環境)でプログラムを書いていると、作ったプログラムをexe化して配布したくなることがあります。しかし、ネット上の情報を見ても難しそうなものばかり。

本記事では、pkgというツールを用いて、できるだけ簡単に.jsファイルをexeに変換する方法について解説します。

Character
もっとnode.jsを使いましょう~

node.jsを確認

そもそも、コンピューターにnode.jsがインストールされていなければ何も始まりません。まずは次のコマンドを入力し、node.jsの存在を確認しましょう:

node -v
npm -v
Copied!

この結果、バージョンが表示されればOKです。表示されない場合、node.jsのダウンロードから始めましょう。ダウンロードはこちら

Character
尤もこの記事を見ているということはnode.js環境がすでにある可能性が高いですが。

プロジェクトフォルダを用意

次に、PC上の適当な場所にプロジェクトフォルダを作成しましょう。その中にconvert.jsを配置します。

📁 workspace/
├─ convert.js 
Copied!

このconvert.jsは、exe化しようとしているプログラムです。あなたのファイルをここにコピーしましょう。

package.jsonを作成

続いて、このフォルダ内で以下のコマンドを実行しましょう:

npm init -y
Copied!

これによってpackage.jsonが自動で作成されます。

依存モジュールをインストール

プログラム内で、例えば「require(prismarine-nbt);」のようにモジュールを必要としている場合はその依存モジュールもインストールしておく必要があります。この場合、「npm install prismarine-nbt」というコマンドを入力すればいいですね。これはご自身のプログラムによって異なります。

Character
とはいえプログラムを実行できているなら問題ないかも。

pkgをグローバルにインストール

続いて、jsファイルをexe化するのに今回用いるツールである、pkgをグローバルにインストールしていきます。以下のコマンドを実行しましょう:

npm install -g pkg
Copied!

このように「-g」をつけるとどこからでもアクセスできるようになります。

package.jsonを少し編集

Character
これ、結構重要です

先ほど自動作成したpackage.jsonを開き、以下のように追加しましょう:

{
  "name": "アプリの名前",
  "version": "1.0.0",
  "main": "convert.js",
  "bin": "convert.js",   ← 追加
  "scripts": {},
  "dependencies": {
    "prismarine-nbt": "^2.3.1"
  }
}
Copied!

ご覧の通り、binのキーにjsファイル名を追加する必要があります。

exeをビルド

最後に以下のコマンドでexeをビルドしましょう:

pkg .
Copied!

なお、No available node version satisfies ‘node20’のようにエラーが表示される場合には、Node.jsバージョンを明示的に指定する必要があります。例えばWindowsの場合、

pkg . --targets node18-win-x64
Copied!

といったコマンドを実行すればOKです。Linuxの場合、node18-linux-x64となり、同様にMacOSの場合node18-macos-x64となります。

これによって次のようなexeファイルが生成されます:

📁 workspace/
├─ convert.js
├─ package.json
├─ convert.exe   ← これが実行ファイル
Copied!

おしまい

このようにして、.jsを.exeに変換することができます。一度変換してしまうと、node.jsがない環境でも実行できるようになり、配布する際に非常に便利ですので是非お試しください~。

Character
pythonでいいとか言ってはいけない

他の記事もどうぞ。

最新情報をチェックしよう!