NexuShell - a PowerShell CLI for Nexus Repository

I work for Chocolatey Software and as such I need to build repository servers…a LOT. I got tired of manual effort and clunky scripts so I createdNexuShell, a PowerShell wrapper module for the Nexus Repository API. It’s not got 100% parity with the API, but it certainly could with some effort and maybe even some community involvement! I’d be more than happy to answer questions about it here, or if you’d like to try it out, it is on the PowerShell gallery, and you can install it from there. It’s also available as a Chocolatey package, and you can install it that way with choco install nexushell -y

1 Like

I’m getting a 404 on the repo. Is it open to the public?

Whoops, I had a typo in the link! Fixed now, thanks for pointing that out!

Hi Steve, I have installed using choco install nexushell -y. Is there a readme or any usage info available please?
Thanks

The link to the docs in my initial post is your best bet I think! Also all the commands have help available via Get-Help $cmdletName

Thanks for that. When I try to build I get the following in PowerShell:-

PS C:\NexuShell-develop\NexuShell> .\build.ps1 -Build
Chocolatey v2.2.2
Installing the following packages:
gitversion
By installing, you accept licenses for the packages.
Progress: Downloading GitVersion 1.0.0.1… 100%

GitVersion v1.0.0.1
GitVersion package files install completed. Performing other installation steps.
The install of GitVersion was successful.
Software installed to ‘C:\ProgramData\chocolatey\lib\GitVersion’

Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Install-Script : A parameter cannot be found that matches parameter name ‘PassThru’.
At C:\NexuShell-develop\NexuShell\Requirements.ps1:14 char:61

  • $Install = Install-Script Install-RequiredModule -Force -PassThru
    
  •                                                         ~~~~~~~~~
    
    • CategoryInfo : InvalidArgument: (:slight_smile: [Install-Script], ParameterBindingException
    • FullyQualifiedErrorId : NamedParameterNotFound,Install-Script

Join-Path : Cannot bind argument to parameter ‘Path’ because it is null.
At C:\NexuShell-develop\NexuShell\Requirements.ps1:15 char:25

  • $Script = Join-Path $Install.InstalledLocation $Install.Name
    
  •                     ~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidData: (:slight_smile: [Join-Path], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCom
      mand

The expression after ‘&’ in a pipeline element produced an object that was not valid. It must result in a command
name, a script block, or a CommandInfo object.
At C:\NexuShell-develop\NexuShell\Requirements.ps1:17 char:3

  • & $Script -Path $PSScriptRoot\RequiredModules.psd1
  • + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : BadExpression
    
    

Build-Module : The term ‘Build-Module’ is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\NexuShell-develop\NexuShell\build.ps1:40 char:13

  •         Build-Module -SemVer $SemVer
    
  •         ~~~~~~~~~~~~
    
    • CategoryInfo : ObjectNotFound: (Build-Module:String) [], CommandNotFoundException
    • FullyQualifiedErrorId : CommandNotFoundException

Please advise.
Thank you.
Mark

Hey Mark,

Sorry for the delay!

This is available on the PowerShell Gallery: Install-Module NexuShell and
Chocolatey: choco install nexushell -y

You’ve highlighted some good gaps in the docs I’ll work to get patched :slight_smile: