Dependency Resolution
This module uses a custom dependency resolution algorithm that selects the newest available modules that satisfy all the
dependency criteria. If a version of a locally installed module satisfies the “latest” criteria of the dependency graph,
it will be used rather than fetching what is newest on the gallery. This can be overriden with the -Update switch that
will recheck whats available in the remote.
Requires Spec Installation
ModuleFast can read a variety of files for module specifications:
- .ps1 PowerShell Scripts with #Requires comment
- .psm1 PowerShell Modules with #Requires comment
- .psd1 Module Manifest with a RequiredModules property
- .psd1 File in PSDepend format
- .psd1 file with module/version pairs
- .json file with module/version pairs
- .json file with array of Module Specification strings
You can specify one of these files by using the -Path parameter. If you run Install-ModuleFast with no arguments, it will search for *.requires.psd1|psm1|json|jsonc files in the current directory to install.
CI Lockfile
You can specify the -CI parameter to create a lockfile in the current directory that will pin specific version specifications.
If you commit this to a repository, others who run Install-ModuleFast -CI will get exactly the modules that were installed
by your installation process, even if newer ones are available that meet the spec. This helps ensure proper
reproducible builds, but ideally you will specify your versions appropriately instead.
NOTE: Recommended PSModulePath Prerequisite
ModuleFast installs modules to your LocalAppData/powershell/Modules folder.
This is the default install folder on Linux however it is not on Windows, so on Windows the
script will automatically update your profile to add this path to your psmodulepath on startup (it will prompt you to do this).
You can alternatively set it as your powershell.config.json PSModulePath, add it to your PSModulePath another way such as in your profile, or specify -Destination to point wherever you want, such as the classic “Documents” location.