Nexus Repository OSS

This is not the latest version of Nexus Repository OSS available. | Updated: 10 Jan 2019



Downloads of v



Software Author(s):

  • Sonatype

Nexus Repository OSS

This is not the latest version of Nexus Repository OSS available.

All Checks are Passing

2 Passing Test

Validation Testing Passed

Verification Testing Passed


To install Nexus Repository OSS, run the following command from the command line or from PowerShell:


To upgrade Nexus Repository OSS, run the following command from the command line or from PowerShell:


To uninstall Nexus Repository OSS, run the following command from the command line or from PowerShell:


NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to

4. Choose your deployment method:

choco upgrade nexus-repository -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade nexus-repository -y --source="'STEP 3 URL'"

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Ensure nexus-repository installed
    name: nexus-repository
    state: present
    source: STEP 3 URL

See docs at

Coming early 2020! Central Managment Reporting available now! More information...

chocolatey_package 'nexus-repository' do
  action    :install
  version  ''
  source   'STEP 3 URL'

See docs at

    Name: nexus-repository,
    Source: STEP 3 URL

Requires Otter Chocolatey Extension. See docs at

cChocoPackageInstaller nexus-repository
   Name     = 'nexus-repository'
   Ensure   = 'Present'
   Version  = ''
   Source   = 'STEP 3 URL'

Requires cChoco DSC Resource. See docs at

package { 'nexus-repository':
  provider => 'chocolatey',
  ensure   => '',
  source   => 'STEP 3 URL',

Requires Puppet Chocolatey Provider module. See docs at

salt '*' chocolatey.install nexus-repository version="" source="STEP 3 URL"

See docs at

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved as a trusted package on 14 Feb 2019.


Free open source version of popular Nexus Repository for binary artifacts including first class Nuget support.
Free OSS version supports advanced access control (groups, roles), LDAP and per-user api keys.
Nexus product does not have a built-in web gallery for components.


$packageid = "nexus-repository"
$version = '3.14.0-04'
$url = "$"
$checksum = '1adcd03cc48e48a4587e78a4d891f13e657d13c0'
$checksumtype = 'SHA1'
$silentargs = "-q -console -dir `"$installfolder`""
$validExitCodes = @(0)

$packageName= 'nexus-repository'
$toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"

$OSBits = Get-ProcessorBits

If (!(Get-ProcessorBits -eq 64))
  Throw "Sonatype Nexus Repository 3.0 and greater only supports 64-bit Windows."

$nexusversionedfolder = "nexus-$version"
$TargetFolder = "$env:programdata\nexus"
$ExtractFolder = "$env:temp\NexusExtract"
$TargetDataFolder = "$env:programdata\sonatype-work"
$NexusConfigFile = "$TargetDataFolder\nexus3\etc\"
$servicename = 'nexus'
$NexusPort = '8081'

$pp = Get-PackageParameters
if ($pp.Port) {
  $NexusPort = $pp.Port
  Write-Host "/Port was used, Nexus will listen on port $NexusPort."

If (Test-Path "$env:ProgramFiles\nexus\bin")
  Throw "Previous version of Nexus 3 installed by setup.exe is present, please uninstall before running this package."

If ([bool](Get-Service $servicename -ErrorAction SilentlyContinue))
  Write-Warning "Nexus web app is already present, shutting it down so that we can upgrade it."
  Stop-Service $servicename -force

If (Test-Path "$ExtractFolder") {Remove-Item "$ExtractFolder" -Recurse -Force}

Install-ChocolateyZipPackage -PackageName $packageName -unziplocation "$ExtractFolder" -url $url -checksum $checksum -checksumtype $checksumtype -url64 $url -checksum64 $checksum -checksumtype64 $checksumtype

Write-Host "Copying files to '$TargetFolder' with overwrite"
#$VerbosePreference = Continue
Copy-Item "$ExtractFolder\$nexusversionedfolder" "$TargetFolder" -Force -Recurse
#$VerbosePreference = SilentlyContinue

If (!(Test-Path "$TargetDataFolder"))
  Move-Item "$extractfolder\sonatype-work" "$TargetDataFolder"
  Write-Warning "`"$TargetDataFolder`" already exists, not overwriting, residual data from previous installs will not be reset."

Remove-Item "$ExtractFolder" -Force -Recurse

Start-ChocolateyProcessAsAdmin -ExeToRun "$TargetFolder\bin\nexus.exe" -Statements "/install $servicename" -validExitCodes $validExitCodes

#Update Port
If ($NexusPort -ne '8081')
  $service = Start-Service $servicename -PassThru
  $Service.WaitForStatus('Running', '00:02:00')
  Start-Sleep 120
  If (Test-Path "$NexusConfigFile")
    Write-Host "Configuring Nexus to listen on port $NexusPort."
    (Get-Content "$NexusConfigFile") -replace "^#\s*application-port=.*$", "application-port=$NexusPort" | Set-Content "$NexusConfigFile"
    Stop-Service $servicename
    Write-Warning "Cannot find `"$NexusConfigFile`", skipping configuring Nexus to listen on port $NexusPort."

$service = Start-Service $servicename -PassThru
Write-Host "Waiting for Nexus service to be completely ready"
$Service.WaitForStatus('Running', '00:02:00')

If ($Service.Status -ine 'Running') 
  Write-Warning "The Nexus Repository service ($servicename) did not start."
  #Even though windows reports service is ready - web url will not respond until Nexus is actually ready to serve content
  Start-Sleep 120

Write-Warning "`r`n"
Write-Warning "*******************************************************************************************"
Write-Warning "*"
Write-Warning "*  You MAY receive the error 'localhost refused to connect.' until Nexus is fully started."
Write-Warning "*"
Write-Warning "*  You can manage the repository by visiting http://localhost:$NexusPort"
Write-Warning "*  The default user is 'admin' with password 'admin123'"
Write-Warning "*  Nexus availability is controlled via the service `"$servicename`""
Write-Warning "*  Use the following command to open port $NexusPort for access from off this machine (one line):"
Write-Warning "*   netsh advfirewall firewall add rule name=`"Nexus Repository`" dir=in action=allow "
Write-Warning "*   protocol=TCP localport=$NexusPort"
Write-Warning "*******************************************************************************************"

$validExitCodes = @(0)

$packageName= 'nexus-repository'
$servicename = 'nexus'
$installfolder = "$env:programdata\Nexus"
$toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$validExitCodes = @(0)

If (Test-Path "$installfolder\bin\nexus.exe")
  Stop-Service nexus -force
  Start-ChocolateyProcessAsAdmin -ExeToRun "$installfolder\bin\nexus.exe" -Statements "/uninstall $servicename" -validExitCodes $validExitCodes
  Remove-item  "$installfolder" -recurse -force
  Write-warning "It appears that the uninstall may have been run outside of chocolatey, skipping..."

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Version Downloads Last Updated Status
Nexus Repository OSS 525 Friday, September 11, 2020 Approved
Nexus Repository OSS 289 Thursday, July 30, 2020 Approved
Nexus Repository OSS 547 Monday, April 20, 2020 Approved
Nexus Repository OSS 129 Saturday, April 11, 2020 Approved
Nexus Repository OSS 154 Friday, March 27, 2020 Approved
Nexus Repository OSS 243 Saturday, March 14, 2020 Approved
Nexus Repository OSS 556 Tuesday, November 19, 2019 Approved
Nexus Repository OSS 213 Sunday, October 13, 2019 Approved
Nexus Repository OSS 241 Saturday, August 24, 2019 Approved
- Supports "Port" parameter for changing nexus repository listening port
- improved service startup checking
- cleaner uninstall
Nexus no longer provided a setup.exe for installing Nexus Repository 3.x on Windows.
If you previously installed with a package that used the setup.exe, you must manually uninstall it first. (you can use chocolatey uninstall if installed by chocolatey)
Once you are on or later, upgrades will work smoothly.

Discussion for the Nexus Repository OSS Package

Ground Rules:

  • This discussion is only about Nexus Repository OSS and the Nexus Repository OSS package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Nexus Repository OSS, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus