Big update!Introducing GitHub Bot Commands. Learn more β†’
Socket
Log inBook a demo

envinfo

Package Overview
Dependencies
0
Maintainers
2
Versions
82
Issues
File Explorer

Advanced tools

envinfo

Info about your dev environment for debugging purposes

    7.8.1latest

Version published
Maintainers
2
Weekly downloads
6,659,044
decreased by-10.78%

Weekly downloads

Changelog

Source

Readme

Source

envinfo generates a report of the common details needed when troubleshooting software issues, such as your operating system, binary versions, browsers, installed languages, and more


CircleCI Build Status npm version npm downloads per month License: MIT All Contributors

The problem

  • It works on my computer
  • "command not found"
  • what version of "command" are you running?
  • what version of "different command" are you running?
  • do you have "insert obscure android sdk version"?
  • every github issue reporting template ever:

Please mention other relevant information such as the browser version, Node.js version, Operating System and programming language.

This solution

  • Gather all of this information in one spot, quickly, and painlessly.

Installation

To use as a CLI tool, install this package globally:

npm install -g envinfo || yarn global add envinfo

Or, use without installing with npx:

npx envinfo

To use as a library in another project:

npm install envinfo || yarn add envinfo

CLI Usage

envinfo || npx envinfo

System: OS: macOS Mojave 10.14.5 CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz Memory: 2.97 GB / 16.00 GB Shell: 5.3 - /bin/zsh Binaries: Node: 8.16.0 - ~/.nvm/versions/node/v8.16.0/bin/node Yarn: 1.15.2 - ~/.yarn/bin/yarn npm: 6.9.0 - ~/.nvm/versions/node/v8.16.0/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: Cargo: 1.31.0 - ~/.cargo/bin/cargo CocoaPods: 1.7.3 - /usr/local/bin/pod Composer: 1.8.6 - /usr/local/bin/composer Gradle: 5.5 - /usr/local/bin/gradle Homebrew: 2.1.7 - /usr/local/bin/brew Maven: 3.6.1 - /usr/local/bin/mvn pip2: 19.0.3 - /usr/local/bin/pip2 pip3: 19.0.2 - /usr/local/bin/pip3 RubyGems: 2.5.2.3 - /usr/bin/gem Utilities: CMake: 3.13.3 - /usr/local/bin/cmake Make: 3.81 - /usr/bin/make GCC: 10.14. - /usr/bin/gcc Git: 2.20.0 - /usr/local/bin/git Mercurial: 4.5.3 - /usr/bin/hg Clang: 1001.0.46.4 - /usr/bin/clang Subversion: 1.10.3 - /usr/bin/svn Servers: Apache: 2.4.34 - /usr/sbin/apachectl Nginx: 1.13.12 - /usr/local/bin/nginx Virtualization: Docker: 18.09.1 - /usr/local/bin/docker Parallels: 13.3.0 - /usr/local/bin/prlctl VirtualBox: 5.2.20 - /usr/local/bin/vboxmanage SDKs: iOS SDK: Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2 Android SDK: API Levels: 28 Build Tools: 28.0.3 System Images: android-28 | Google Play Intel x86 Atom IDEs: Android Studio: 3.2 AI-181.5540.7.32.5056338 Atom: 1.23.3 Emacs: 22.1.1 - /usr/bin/emacs Nano: 2.0.6 - /usr/bin/nano VSCode: 1.36.0 - /usr/local/bin/code Vim: 8.0 - /usr/bin/vim Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild Languages: Bash: 4.4.23 - /usr/local/bin/bash Elixir: 1.6.2 - /usr/local/bin/elixir Go: 1.11.1 - /usr/local/bin/go Java: 1.8.0_192 - /usr/bin/javac Perl: 5.18.4 - /usr/bin/perl PHP: 7.1.23 - /usr/bin/php Python: 2.7.16 - /usr/local/bin/python Python3: 3.7.2 - /usr/local/bin/python3 R: 3.6.0 - /usr/local/bin/R Ruby: 2.3.7 - /usr/bin/ruby Rust: 1.16.0 - /Users/tabrindle/.cargo/bin/rustup Databases: MongoDB: 3.6.4 - /usr/local/bin/mongo MySQL: 10.3.10 (MariaDB) - /usr/local/bin/mysql PostgreSQL: 10.3 - /usr/local/bin/postgres SQLite: 3.24.0 - /usr/bin/sqlite3 Browsers: Chrome: 75.0.3770.100 Chrome Canary: 77.0.3847.0 Firefox: 68.0 Firefox Developer Edition: 69.0 Firefox Nightly: 69.0a1 Safari: 12.1.1 Safari Technology Preview: 13.0 npmPackages: apollo-client: ^2.3.1 => 2.3.1 jest: ^22.2.1 => 22.2.1 ... react: ^16.3.2 => 16.3.2 react-apollo: ^2.1.4 => 2.1.4 run4staged: ^1.1.1 => 1.1.1 solidarity: 2.0.5 => 2.0.5 styled-components: ^3.1.6 => 3.1.6 npmGlobalPackages: create-react-app: 1.5.2 create-react-native-app: 1.0.0 envinfo: 5.10.0 exp: 49.2.2 gatsby-cli: 1.1.52 npm: 5.6.0 react-native-cli: 2.0.1 solidarity: 2.1.0 typescript: 2.8.1

Programmatic Usage

Envinfo takes a configuration object and returns a Promise that resolves a string (optionally yaml, json or markdown)

import envinfo from 'envinfo'; envinfo.run( { System: ['OS', 'CPU'], Binaries: ['Node', 'Yarn', 'npm'], Browsers: ['Chrome', 'Firefox', 'Safari'], npmPackages: ['styled-components', 'babel-plugin-styled-components'], }, { json: true, showNotFound: true } ).then(env => console.log(env));

logs:

{ "System": { "OS": "macOS High Sierra 10.13", "CPU": "x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz" }, "Binaries": { "Node": { "version": "8.11.0", "path": "~/.nvm/versions/node/v8.11.0/bin/node" }, "Yarn": { "version": "1.5.1", "path": "~/.yarn/bin/yarn" }, "npm": { "version": "5.6.0", "path": "~/.nvm/versions/node/v8.11.0/bin/npm" } }, "Browsers": { "Chrome": { "version": "67.0.3396.62" }, "Firefox": { "version": "59.0.2" }, "Safari": { "version": "11.0" } }, "npmPackages": { "styled-components": { "wanted": "^3.2.1", "installed": "3.2.1" }, "babel-plugin-styled-components": "Not Found" } }

All of envinfo's helpers are also exported for use. You can use envinfo as a whole, or just the parts that you need, like this:

const envinfo = require('envinfo'); // each helper returns a promise const node = await envinfo.helpers.getNodeInfo(); // The promises resolve to an array of values: ["Name", "Version", "Path"] // e.g. ["Node", "10.9.0", "/usr/local/bin/node"] console.log(`Node: ${node[1]} - ${node[2]}`); // "Node: 10.9.0 - ~/.nvm/versions/node/v8.14.0/bin/node"

CLI Options

--system Print general system info such as OS, CPU, Memory and Shell --browsers Get version numbers of installed web browsers --SDKs Get platforms, build tools and SDKs of iOS and Android --IDEs Get version numbers of installed IDEs --languages Get version numbers of installed languages such as Java, Python, PHP, etc --binaries Get version numbers of node, npm, watchman, etc --npmPackages Get version numbers of locally installed npm packages - glob, string, or comma delimited list --npmGlobalPackages Get version numbers of globally installed npm packages --duplicates Mark duplicate npm packages inside parentheses eg. (2.1.4) --fullTree Traverse entire node_modules dependency tree, not just top level --markdown Print output in markdown format --json Print output in JSON format --console Print to console (defaults to on for CLI usage, off for programmatic usage)

Integration

envinfo is live in:

envinfo is used in the ISSUE_TEMPLATE of:

Alternatives

  • type command -v until you smash your computer
  • specs - an excellent ruby gem that runs command -v for you on :all-the-things: Great for raw info.
  • screenfetch - fetch system and terminal information, and display a pretty ascii logo
  • Solidarity - a project based environment checker
  • write your own

License

MIT

Contributing

PRs for additional features are welcome! Run npm run lint && npm run format before committing.

This project came out of a PR to the React Native CLI tool - issues are reported frequently without important environment information, like Node/npm versions.

Contributors

Thanks goes to these wonderful people (emoji key):


Trevor Brindle

πŸ’¬ πŸ“ πŸ› πŸ’» πŸ“– πŸ’‘ πŸ€” πŸ‘€ πŸ“’ ⚠️

Gant Laborde

πŸ“ πŸ› πŸ’» πŸ€”

Anton Fisher

πŸ› πŸ’»

Ahmad Awais ⚑️

πŸ› πŸ’»

Hasan

πŸ› πŸ’»

Ernesto RamΓ­rez

πŸ› πŸ’»

Jiawen Geng

πŸ› πŸ’» πŸ€” ⚠️

Zac Anger

πŸ’» πŸ›

Ville Immonen

πŸ› πŸ’»

Olmo Maldonado

πŸ› πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

Keywords

FAQs

What is envinfo?

Info about your dev environment for debugging purposes

Is envinfo popular?

The npm package envinfo receives a total of 5,358,441 weekly downloads. As such, envinfo popularity was classified as popular.

Is envinfo well maintained?

We found that envinfo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.It has 2 open source maintainers collaborating on the project.

Last updated on 06 Apr 2021

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket

Product

Subscribe to our newsletter

Get open source security insights delivered straight into your inbox. Be the first to learn about new features and product updates.


  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc