OSや言語のバージョンなど環境情報を確認したい時はnpx envinfoが簡単で便利

Githubでissueを眺めていたらnpx envinfoというコマンドで自身のPCの環境を記載している方がいました。

非常に便利なコマンドなので紹介したいと思います。



envinfoとは

github.com

npmパッケージとして提供されてます。npm install -gで自身のPCにグローバルでインストールして利用しても良いのですが、インストールをせずコマンドを利用できるnpxを使うのが簡単・手軽でしょう。

ですので、利用するために必要なものはnpmのみです。ソフトウェアエンジニアであればnodeを入れている方は多いと思うので利用するハードルは低いですね。



出力例

ターミナルでnpx envinfoとたたけばずらっと利用しているPCのスペック、各種言語のバージョンなどを一覧でインストールパスとともに表示してくれます。

$ npx envinfo

  System:
    OS: macOS 10.15.6
    CPU: (8) x64 Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
    Memory: 4.86 GB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.18.0 - ~/.ndenv/versions/v12.18.0/bin/node
    Yarn: 1.22.4 - ~/.ndenv/versions/v12.18.0/bin/yarn
    npm: 6.14.4 - ~/.ndenv/versions/v12.18.0/bin/npm
  Managers:
    Homebrew: 2.4.9 - /usr/local/bin/brew
    pip2: 19.3.1 - /usr/local/bin/pip2
    pip3: 18.1 - ~/.pyenv/shims/pip3
    RubyGems: 2.6.11 - /Users/hoge/.rbenv/shims/gem
  Utilities:
    CMake: 3.15.4 - /usr/local/bin/cmake
    Make: 3.81 - /usr/bin/make
    GCC: 4.2.1 - /usr/bin/gcc
    Git: 2.26.1 - /usr/local/bin/git
    Clang: 1103.0.32.62 - /usr/bin/clang
    FFmpeg: 4.3.1 - /usr/local/bin/ffmpeg
  Servers:
    Apache: 2.4.41 - /usr/sbin/apachectl
  Virtualization:
    Docker: 19.03.8 - /usr/local/bin/docker
  IDEs:
    Nano: 2.0.6 - /usr/bin/nano
    Vim: 8.2 - /usr/local/bin/vim
    Xcode: /undefined - /usr/bin/xcodebuild
  Languages:
    Bash: 3.2.57 - /bin/bash
    Go: 1.14.4 - /Users/hoge/.goenv/versions/1.14.4/bin/go
    Java: 1.8.0_221 - /usr/bin/javac
    Perl: 5.32.0 - /usr/local/bin/perl
    PHP: 7.3.11 - /usr/bin/php
    Python: 3.6.9 - /Users/hoge/.pyenv/shims/python
    Python3: 3.6.9 - /Users/hoge/.pyenv/shims/python3
    Ruby: 2.4.1 - /Users/hoge/.rbenv/shims/ruby
  Databases:
    MySQL: 5.6.47 - /usr/local/bin/mysql
    SQLite: 3.28.0 - /usr/bin/sqlite3
  Browsers:
    Chrome: 84.0.4147.105
    Firefox: 77.0.1
    Safari: 13.1.2


node_modulesの存在するディレクトリであればローカルインストールされているnpmパッケージのバージョンを見やすい形式で確認できます。

$ npx envinfo --npmPackages

  npmPackages:
    @nuxt/content: ^1.6.0 => 1.6.0
    @nuxt/typescript-build: ^0.6.0 => 0.6.7
    @nuxt/typescript-runtime: ^0.4.0 => 0.4.10
    @nuxtjs/eslint-config-typescript: ^1.0.0 => 1.0.2
    @nuxtjs/eslint-module: ^1.0.0 => 1.2.0
    @vue/test-utils: ^1.0.0-beta.27 => 1.0.3
    babel-eslint: ^10.0.1 => 10.1.0
    babel-jest: ^24.1.0 => 24.9.0
    eslint: ^6.1.0 => 6.8.0
    eslint-config-prettier: ^6.10.0 => 6.11.0
    eslint-plugin-nuxt: >=0.4.2 => 1.0.0
    eslint-plugin-prettier: ^3.1.2 => 3.1.4
    jest: ^24.1.0 => 24.9.0
    nuxt: ^2.0.0 => 2.14.1
    prettier: ^1.19.1 => 1.19.1
    prism-themes: ^1.4.0 => 1.4.0
    ts-jest: ^25.0.0 => 25.5.1
    vue-jest: ^4.0.0-0 => 4.0.0-beta.5


--npmGlobalPackagesはグローバルインストールされたパッケージを確認できます。

$ npx envinfo --npmGlobalPackages

  npmGlobalPackages:
    hexo-cli: 3.1.0
    npm: 6.14.4
    yarn: 1.22.4


--markdown--jsonなど出力オプションを設定することができます。

$ npx envinfo --markdown

## System:
 - OS: macOS 10.15.6
 - CPU: (8) x64 Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
 - Memory: 4.20 GB / 16.00 GB
 - Shell: 5.7.1 - /bin/zsh
## Binaries:
 - Node: 12.18.0 - ~/.ndenv/versions/v12.18.0/bin/node
 - Yarn: 1.22.4 - ~/.ndenv/versions/v12.18.0/bin/yarn
 - npm: 6.14.4 - ~/.ndenv/versions/v12.18.0/bin/npm
## Managers:
 - Homebrew: 2.4.9 - /usr/local/bin/brew
 - pip2: 19.3.1 - /usr/local/bin/pip2
 - pip3: 18.1 - ~/.pyenv/shims/pip3
 - RubyGems: 2.6.11 - /Users/hoge/.rbenv/shims/gem
## Utilities:
 - CMake: 3.15.4 - /usr/local/bin/cmake
 - Make: 3.81 - /usr/bin/make
 - GCC: 4.2.1 - /usr/bin/gcc
 - Git: 2.26.1 - /usr/local/bin/git
 - Clang: 1103.0.32.62 - /usr/bin/clang
 - FFmpeg: 4.3.1 - /usr/local/bin/ffmpeg
## Servers:
 - Apache: 2.4.41 - /usr/sbin/apachectl
## Virtualization:
 - Docker: 19.03.8 - /usr/local/bin/docker
## IDEs:
 - Nano: 2.0.6 - /usr/bin/nano
 - Vim: 8.2 - /usr/local/bin/vim
 - Xcode: /undefined - /usr/bin/xcodebuild
## Languages:
 - Bash: 3.2.57 - /bin/bash
 - Go: 1.14.4 - /Users/hoge/.goenv/versions/1.14.4/bin/go
 - Java: 1.8.0_221 - /usr/bin/javac
 - Perl: 5.32.0 - /usr/local/bin/perl
 - PHP: 7.3.11 - /usr/bin/php
 - Python: 3.6.9 - /Users/hoge/.pyenv/shims/python
 - Python3: 3.6.9 - /Users/hoge/.pyenv/shims/python3
 - Ruby: 2.4.1 - /Users/hoge/.rbenv/shims/ruby
## Databases:
 - MySQL: 5.6.47 - /usr/local/bin/mysql
 - SQLite: 3.28.0 - /usr/bin/sqlite3
## Browsers:
 - Chrome: 84.0.4147.105
 - Firefox: 77.0.1
 - Safari: 13.1.2



まとめ

冒頭に記載した通り、Githubのissueやチームメンバーとのコミュニケーションで、自身の利用環境を他者に伝える時に活用できると思います。

ぜひ一度実行してみてください。