SYNOPSIS
pak
--all
--cache dir
--details
--dir dir
--force
--log file:level
--init
--name name
--nodeps
--optional
--paks dir
--quiet
--silent
--verbose
--versions
--write
commands ...
Commands:
cache packages...
cached packages...
config
depend packages...
edit key[=value]
help
init [name [version]]
install packages...
list packages...
lockdown
profile [debug|release|...]
prune packages...
search packages...
uninstall packages...
update packages...
upgrade packages...
version [major|minor|patch|other]
DESCRIPTION
Pak is a package manager for application components.
WHY PAK?
Existing package managers like NPM are excellent, but they are heavily
focussed the needs of NodeJS and not for non-Node applications or general
application components. Pak is agnostic to its environment and can be
used to install components for any application.
FEATURES
Pak has the following major features:
. Fast, fast, fast.
. Local cache of packages supports fast offline use.
. Catalog web portal to search published packages.
. Package.json is compatible with nodejs.
BASIC USAGE
To install packages:
pak install Endpoints...
Where an ENDPOINT can be the name of a package published in a GitHub
account/repository or a path to a local package directory. For example:
pak install jquery
pak install embedthis/exp-js
pak install https://github.com/embedthis/exp-js.git
pak install git@github.com:embedthis/jquery
pak install ./my-source/graphics
To uninstall
pak uninstall Endpoints...
To list installed packages
pak list
To display package dependencies
pak depend
To show what packages are present in the cache and where they originated
pak cached
To download and cache a package but not install in the local directory
pak cache Name
To prune old versions from the cache
pak prune
OVERVIEW
A package is described by a pak.json file (similar to the NPM
package.json file). This provides at a minimum the following properties.
{
"name": "Package name - one word"
"description": "Package description - one line"
"version": "1.2.3",
"keywords": [
"comms", "websockets", "sockets", "ssl",
],
"author": {
"name": "Your name",
"email": "Your email",
https://npmjs.org/doc/json.html
RUNNING
To run Pak with more verbose trace output, use the [-v] --verbose switch.
To run with less trace, use the [-q] --quiet switch. To run completely
silently except for hard-errors, use --silent.
CONFIGURATION
On startup, Pak reads configuration from a pakrc file. This file defines
the operational configuration for Pak.
The "catalogs" property defines sites that index and catalog packs. The
"paks" directory is the name of the local directory in which to store
packages. The "pakcache" directory defines where to cache packages on the
local system.
Pak locates a valid pakrc file by searching in order:
pakrc, .pakrc, ../pakrc, ../.pakrc, /etc/pakrc, pak.json
COMMANDS
cache [packages...]
Download and populate the cache with packages.
cached [packages...]
List packages in the cache.
config Show the Pak configuration.
depend [packages...]
Display installed package dependencies.
edit key[=value]...
Edit a value in the pak.json package description file.
help ...
Display this Pak usage help.
info packages...
Display the README for a cached package.
init [name [version]]
Create a new pak.json.
install packages...
Install a package on the local system. The package name can be a
name in an online catalog or it can be a GitHub endpoint URL or of
the form 'account/repositiory'. Use the --write option to update
"debug" or "release" configuration.
prune [packages...]
Prune named packages.
search packages...
Search for packages in the catalogs.
uninstall
Uninstall an installed package. Use --write to remove from the
package dependencies.
update [packages...]
Update the pak cache with latest available version of the package.
This will check with catalogs to determine the most recent
versions of a package and will download the package and save in
the cache.
upgrade [packages...]
Upgrade installed packages with the latest version of the package.
This will update the cache if required. Use --noupdate to upgrade
only from the local cache without downloading new versions.
version [major|minor|patch|other]
Update the version by incrementing the relevant major, minor or
patch portion of the version string. Alternatively, provide an
exact version string to set. Without any argument, 'pak version'
will print the current version.
OPTIONS
--all URI
Show all versions of a package.
--cache directory
Specify the directory to use for the paks cache. This overrides
the values specified in the various pakrc or pak.json files.
--details URI
Show more package details. Useful with "pak list".
--dir directory
Change to the given directory before running.
--force
Force the command to continue. This is useful to install or cache
a package when dependencies cannot be satisfied. It is also
useful to cache or install an already cached/installed pack.
--nodeps
Used to suppress installing or upgrading dependent packages.
--optional
Used when installing packages to add them to the
'optionalDependencies' list instead of as a hard dependency.
--paks directory
Specify the local "paks" directory in which to install packages.
This overrides the values specified in the various pakrc or
pak.json files.
--quiet
Run in quiet mode with less verbose otuput. Aliased as -q.
--silent
Run in silent mode suppressing all but hard errors. Aliased as -s.
--versions URI
Show package version information.
--write URI
Write installed packages to pak.json dependencies. Use --optional
to update optionalDependencies. When uninstalling, --write will
remove the package from the dependencies and update the pak.json.
REPORTING BUGS
Report bugs to dev@embedthis.com.
COPYRIGHT
Copyright © Embedthis Software. Bit and Ejscript are a trademarks of
Embedthis Software.
SEE ALSO
https://www.embedthis.com/pak/
pak March 2014 PAK(1)
Man(1) output converted with man2html