All Projects → mklement0 → whichpm

mklement0 / whichpm

Licence: other
Locates installed Perl modules.

Programming Languages

perl
6916 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to whichpm

files
Useful methods to manage files and directories
Stars: ✭ 27 (+35%)
Mutual labels:  filesystem, directories
Sloth
Mac app that shows all open files, directories, sockets, pipes and devices in use by all running processes. Nice GUI for lsof.
Stars: ✭ 4,549 (+22645%)
Mutual labels:  unix, directories
findlargedir
find all "blackhole" directories with a huge amount of filesystem entries in a flat structure
Stars: ✭ 15 (-25%)
Mutual labels:  unix, filesystem
Bfs
A breadth-first version of the UNIX find command
Stars: ✭ 336 (+1580%)
Mutual labels:  unix, filesystem
Aaru
Aaru Data Preservation Suite
Stars: ✭ 193 (+865%)
Mutual labels:  unix, filesystem
diskusage
FANTASTIC SPEED utility to find out top largest folders/files on the disk.
Stars: ✭ 64 (+220%)
Mutual labels:  folders, directories
Rm Protection
A safe alternative for "rm".
Stars: ✭ 416 (+1980%)
Mutual labels:  unix, filesystem
Voila
Voila is a domain-specific language launched through CLI tool for operating with files and directories in massive amounts in a fast & reliable way.
Stars: ✭ 78 (+290%)
Mutual labels:  folders, directories
Lfs
A thing to get information on your mounted disks
Stars: ✭ 178 (+790%)
Mutual labels:  unix, filesystem
Glob
Glob for C++17
Stars: ✭ 74 (+270%)
Mutual labels:  unix, filesystem
Buildxl
Microsoft Build Accelerator
Stars: ✭ 676 (+3280%)
Mutual labels:  unix, filesystem
jquery.filebrowser
File browser jQuery plugin
Stars: ✭ 29 (+45%)
Mutual labels:  filesystem, directories
Advanced-xv6
Modern improvements for MIT's xv6 OS
Stars: ✭ 26 (+30%)
Mutual labels:  unix, filesystem
ModernOperatingSystems AndrewTanenbaum
My notes after reading 'Modern Operating Systems' book by Andrew Tanenbaum and Herbert Bos.
Stars: ✭ 71 (+255%)
Mutual labels:  unix, filesystem
node-advanced
Node Advanced Courseware
Stars: ✭ 80 (+300%)
Mutual labels:  module
puppetlabs-limits
Module for managing pam limits in /etc/security/limits.conf
Stars: ✭ 14 (-30%)
Mutual labels:  module
vue-component-creator-plugin
Simplify your frontend dev by automatically created vue components and vuex modules
Stars: ✭ 16 (-20%)
Mutual labels:  module
Dotfiles
Passionately crafted configs for CLI lovers 🐧❤️
Stars: ✭ 70 (+250%)
Mutual labels:  unix
chicon-rs
A file abstraction system for Rust
Stars: ✭ 55 (+175%)
Mutual labels:  filesystem
modules
Officially supported Revel modules
Stars: ✭ 46 (+130%)
Mutual labels:  module

npm version license

Contents

whichpm — introduction

whichpm is a cross-platform CLI that locates installed Perl modules, and optionally reports information about them, including detection of accidental duplicates.

Analogous to how the common which Unix utility locates binaries by their filename, whichpm locates Perl modules by their module (package) name.

Examples

# Locate the Data::Dumper module.
$ whichpm Data::Dumper
/usr/lib/perl/5.18/Data/Dumper.pm

# Locate the Data::Dumper module, and also print
# version information and core-module status.
$ whichpm -v Data::Dumper
Data::Dumper    2.145   core>=5.005 /usr/lib/perl/5.18/Data/Dumper.pm

# Locate the Data::Dumper module and open it in your system's default text
# editor.
$ whichpm -e Data::Dumper

# Look for accidental duplicates of the Foo::Bar module.
# Normally, only 1 path should be returned.
$ whichpm -a Foo::Bar
/usr/lib/perl/5.18/Foo/Bar.pm
./Foo/Bar.pm

# Print the paths of all installed modules.
$ whichpm -a

Installation

Supported platforms and prerequisites

Linux, macOS, and Windows, with Perl v5.4.50 or higher installed.

Installation from the npm registry

Note: Even if you don't use Node.js, its package manager, npm, works across platforms and is easy to install with curl -L http://git.io/n-install | bash

With Node.jsinstalled, install the package as follows:

[sudo] npm install whichpm -g

Note:

  • Whether you need sudo depends on how you installed Node.js and whether you've changed permissions later; if you get an EACCES error, try again with sudo.
  • The -g ensures global installation and is needed to put whichpm in your system's $PATH.

Manual installation (macOS and Linux)

  • Download the CLI as whichpm.
  • Make it executable with chmod +x whichpm.
  • Move it or symlink it to a folder in your $PATH, such as /usr/local/bin (macOS) or /usr/bin (Linux).

Usage

Find brief usage information below; for complete documentation, run whichpm --man or read the manual online.

$ whichpm --help


Prints the filesystem paths of the specified Perl modules, if installed.

    whichpm    [-v] [-q] [-e] <module_name>...
    whichpm -a [-v] [-q] [-e] [<module_name>...]

    -a ... lists all installed module files / all module files matching  
           the specified name(s) (checks for accidental duplicates)
    -v ... verbose mode: also prints name, version, core-module status
    -q ... suppresses warnings
    -e ... opens modules in default text editor

Standard options: --help, --man, --version, --home

License

Copyright (c) 2020 Michael Klement [email protected] (http://same2u.net), released under the MIT license.

Acknowledgements

This project gratefully depends on the following open-source components, according to the terms of their respective licenses.

npm dependencies below have optional suffixes denoting the type of dependency; the absence of a suffix denotes a required run-time dependency: (D) denotes a development-time-only dependency, (O) an optional dependency, and (P) a peer dependency.

npm dependencies

Changelog

Versioning complies with semantic versioning (semver).

  • v0.2.0 (2020-01-14):

    • [enhancement] If duplicate module search paths are found in @INC, a warning is now issued (suppress with -q). Technically, this is a breaking change in that previous callers may not anticipate the additional stderr output.
  • v0.1.8 (2020-01-14):

    • [doc] Read-me improvements.
    • [dev] Dev dependencies updated.
  • v0.1.7 (2015-09-16):

    • [doc] man page improvements.
  • v0.1.6 (2015-09-16):

    • [doc] man page improvements.
  • v0.1.5 (2015-09-15):

    • [dev] Makefile improvements; various other behind-the-scenes tweaks.
  • v0.1.4 (2015-09-03):

    • [dev] Missing dev. dependency marked-man added.
  • v0.1.3 (2015-09-02):

    • [doc] Formatting error in man page corrected.
  • v0.1.2 (2015-09-02):

    • [fix] Fixed too-permissive check for the -h / --help option.
  • v0.1.1 (2015-09-02):

    • [fix] Fixed broken man-page installation - man whichpm should now work on Linux and OSX.
  • v0.1.0 (2015-09-01):

    • Initial release.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].