見出し画像

PlatformIOのライブラリやツールの格納場所を変更する


  • ホームディレクトリの.platformioにESP32関連のツールをインストールすると、5GBytes以上消費するので、他のドライブに移したい

  • ユーザーディレクトリ配下の保存なので、ユーザー毎にインストールすることになる

  • ユーザー毎に異なるバージョンを使用できるが、一方でユーザーごとにツールを保存することになり、ストレージの消費が懸念される

設定変更する前に削除

  • 幸いなことに、PlatformIOには、コア部分のファイルの確証場所を、設定で変更できるような仕組みがあるようだ(コアディレクトリの変更)

  • コア部分なので、一度、PlatformIO エクステンションをアンインストールして、ホームディレクトリの.platformioを削除した後に再度設定する必要がありそうだ

    • (必要に応じて、バックアップ)

    • .platformディレクトリを移動後に、設定を変更するだけでも、うまくいくかもしれないが、筆者は試していない(ドキュメントにも削除が必要とある)

    • 調査した限り、「環境変数による方法」と「設定ファイルよる方法」の2つの方法がありそうだったが、実質、今回の用途では前者のみと理解している

環境変数による変更

  • PLATFORMIO_CORE_DIR という環境変数に格納先のパスを指定する

    • 筆者が選んだ方法(環境変数が増えるのは好きではないが)

  • コアディレクトリを削除する必要があるという言及がある

Allows one to override “platformio.ini” (Project Configuration File) option core_dir.
It may need to re-install PlatformIO Core (CLI) (remove default core directory) to take effect.

https://docs.platformio.org/en/stable/envvars.html


設定ファイルによる方法

  • platformio.ini に以下のように設定してもよいのかもしれないが、

    • 動作確認はできていない

    • プロジェクトを作るときに、PlatformIO Core (CLI)が必要となると、うまくいかないかも

  • すべてのプロジェクトに設定する必要がでてきてしまうと思う

    • 設定を忘れると、デフォルトのパスに別のファイルをダウンロード&インストールされてしまう(はず)

  • 特定のプロジェクトだけ、別のパッケージにしたい、などの用途には向いていそう

    • 今回の用途には合わないが、別の用途で活用できるかもしれないので、メモを残しておく

[platformio]
core_dir = /path/to/custom/pio-core/storage

core_dir
The core_dir variable points out the directory used for all development platform packages (toolchains, frameworks, SDKs, upload and debug tools), global libraries for Library Dependency Finder (LDF), and other PlatformIO Core service data. The size of this folder will depend on the number of installed development platforms.
The default value is the user’s home directory:

https://docs.platformio.org/en/stable/projectconf/sections/platformio/options/directory/core_dir.html


コア部分の移動ができたので、次にプロジェクトの格納場所の変更についても調べてみた



PlatformIOで設定を変更する方法

  • 設定ファイル(platform.ini)によるプロジェクト単位の設定ではなく、PlatformIO全体の設定

  • 設定を変更するには、「PLATFORMIO > PROJECT TASKS > Miscellaneous > PlatformIO Core CLI」をクリックして現れるコマンド画面で行う

    • pio(PlatformIO Core (CLI) 、管理ツール)にパスが通っていないコマンドプロンプトでは使えないの注意

    • 上記のメニューから起動する必要がある(または、パスを通す)

プロジェクトの保存先の変更

  • 以下のコマンドで、プロジェクトのデフォルトの格納パスを変更できた

pio settings set projects_dir D:/pio_projects/
  • 以下のコマンドで、設定を確認できた

  pio settings get projects_dir
          
  Name          Current value [Default]                        Description
  ------------  ---------------------------------------------  ----------------------------------------------------------
  projects_dir  D:/pio_projects/                               Default location for PlatformIO projects (PlatformIO Home)
                [C:\Users\{username}\Documents\PlatformIO\Projects]
  • 表示されたメッセージの正確な読み方がわかっていないが、「現在の値」と「デフォルトの値」が併記されていると理解すればよいだろうか

    • 考えられる別の読み方は「2つの設定値があり、現在のデフォルト設定は、鍵括弧が付いている方」という見解

    • この状態で、Dドライブに保存されたので、前者の読み方でよいと、現状思っている

リセット

  • 設定がおかしくなったら、以下のコマンドでリセットできそう

pio settings reset




これで、ESP32開発が、また一つ捗るようになった!


いいなと思ったら応援しよう!