Last active
February 19, 2020 22:58
-
-
Save jeremygaither/ec992483ead0617d28fb62f3ac12ac35 to your computer and use it in GitHub Desktop.
Revisions
-
jeremygaither revised this gist
Feb 19, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,7 +15,7 @@ if ($null -eq $env:NVM_HOME) { &$nvmexe list } Write-Output "Active Node.js Version:" &$nodeexe --version if ($LASTEXITCODE -ne 0) { -
jeremygaither revised this gist
Feb 19, 2020 . 1 changed file with 30 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ $nvmexe = $null $nodeexe = "node.exe" if ($null -eq $env:NVM_HOME) { Write-Output "NVM is not installed, or not installed correctly..." } else { Write-Output "NVM_HOME=$env:NVM_HOME" Write-Output "NVM_SYMLINK=$env:NVM_SYMLINK" Write-Output "PATH=$env:PATH" $nvmexe = "$env:NVM_HOME\nvm.exe" $nodeexe = "$env:NVM_SYMLINK\node.exe" Write-Output "NVM managed versions:" &$nvmexe list } Write-Putput "Active Node.js Version:" &$nodeexe --version if ($LASTEXITCODE -ne 0) { Write-Output "Unable to locade node.exe in path to check version!" } if (Test-Path -Path '.\nvmrc') { $nvmrcVersion = Get-Content .nvmrc Write-Output "Desired Node version: $nvmrcVersion" } else { Write-Output "No .nvmrc found!" } -
jeremygaither revised this gist
Jan 23, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ $ErrorActionPreference = "Stop" choco upgrade -y chocolatey choco uninstall -y nvm nvm.portable nodejs-lts choco install -y nvm refreshenv -
jeremygaither revised this gist
Jan 22, 2020 . 1 changed file with 56 additions and 49 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -20,76 +20,83 @@ Write-Output "Desired Node version: $nvmrcVersion" $nvmAvailable = (&$nvmexe list available) $candidateVersionLines = $nvmAvailable | Where-Object -FilterScript { $_ -like ('* ' + ($nvmrcVersion) + '.*') } $candidateVersions = @() foreach ($line in $candidateVersionLines) { $versions = $line.Split('|').Trim() foreach ($version in $versions) { if ([string]::IsNullOrWhiteSpace($version)) { continue } Write-Output ("testing: $version") if ($version -like ($nvmrcVersion + '.*')) { Write-Output ("found: $version") $candidateVersions += $version } } } Write-Output "candidateVersions: $candidateVersions" $desiredVersion = $candidateVersions[0] if ((&$nvmexe use $desiredVersion) -like '*not installed*') { Write-Output "desiredVersion ""$desiredVersion"" not installed, installing..." &$nvmexe install $desiredVersion if (-not $?) { Write-Warning 'There was some error installing the desired node version' exit 1 } &$nvmexe use $desiredVersion if (-not $?) { Write-Warning 'There was some error activating the desired node version' exit 1 } } else { Write-Output "desiredVersion ""$desiredVersion"" should be installed..." &$nvmexe use $desiredVersion } while ($true) { if (Test-Path "$env:NVM_SYMLINK") { break } Write-Output "Waiting for nodejs symlink to become available..." Start-Sleep -Seconds 5 } $waitCount = 0 $maxWaits = 6 while ($true) { if ($waitCount -gt $maxWaits) { Write-Output "unable to switch node versions!" exit 1 } $nodeVersion = (&$nodeexe --version) if ($nodeVersion -like "v$desiredVersion*") { Write-Output "node version good: $nodeVersion" break } else { Write-Output "nodeVersion: $nodeVersion" Write-Output "Waiting for symlink to update..." Start-Sleep 10 $waitCount++ } } -
jeremygaither revised this gist
Jan 22, 2020 . 1 changed file with 1 addition and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -85,8 +85,7 @@ if ($nodeVersion -like "v$desiredVersion*") { $nodeVersion = (&$nodeexe --version) Write-Output "nodeVersion: $nodeVersion" if ($nodeVersion -like "v$desiredVersion*") { Write-Output "Desired Node version ""$desiredVersion"" active: $nodeVersion" } else { -
jeremygaither revised this gist
Jan 22, 2020 . 1 changed file with 3 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -77,15 +77,16 @@ while ($true) { $nodeVersion = (&$nodeexe --version) if ($nodeVersion -like "v$desiredVersion*") { Write-Output "node version good: $nodeVersion" } else { Write-Output "Waiting for symlink to update..." Start-Sleep 10 $nodeVersion = (&$nodeexe --version) Write-Output "nodeVersion: $nodeVersion" if (if ($nodeVersion -like "v$desiredVersion*") { ) { Write-Output "Desired Node version ""$desiredVersion"" active: $nodeVersion" } else { -
jeremygaither revised this gist
Jan 22, 2020 . 1 changed file with 75 additions and 31 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,51 +1,95 @@ $ErrorActionPreference = "Stop" choco upgrade -y chocolatey choco uninstall -y nvm nvm.portable choco install -y nvm refreshenv Write-Output "NVM_HOME=$env:NVM_HOME" Write-Output "NVM_SYMLINK=$env:NVM_SYMLINK" Write-Output "PATH=$env:PATH" $nvmexe = "$env:NVM_HOME\nvm.exe" $nodeexe = "$env:NVM_SYMLINK\node.exe" $nvmrcVersion = Get-Content .nvmrc Write-Output "Desired Node version: $nvmrcVersion" $nvmAvailable = (&$nvmexe list available) $candidateVersionLines = $nvmAvailable | Where-Object -FilterScript { $_ -like ('* ' + ($nvmrcVersion) + '.*') } $candidateVersions = @() foreach ($line in $candidateVersionLines) { $versions = $line.Split('|').Trim() foreach ($version in $versions) { if ([string]::IsNullOrWhiteSpace($version)) { continue } Write-Output ("testing: $version") if ($version -like ($nvmrcVersion + '.*')) { Write-Output ("found: $version") $candidateVersions += $version } } } Write-Output "candidateVersions: $candidateVersions" $desiredVersion = $candidateVersions[0] if ((&$nvmexe use $desiredVersion) -like '*not installed*') { Write-Output "desiredVersion ""$desiredVersion"" not installed, installing..." &$nvmexe install $desiredVersion if (-not $?) { Write-Warning 'There was some error installing the desired node version' exit 1 } &$nvmexe use $desiredVersion if (-not $?) { Write-Warning 'There was some error activating the desired node version' exit 1 } } else { Write-Output "desiredVersion ""$desiredVersion"" should be installed..." &$nvmexe use $desiredVersion } while ($true) { if (Test-Path "$env:NVM_SYMLINK") { break } Write-Output "Waiting for nodejs symlink to become available..." Start-Sleep -Seconds 5 } $nodeVersion = (&$nodeexe --version) if ($nodeVersion -eq $desiredVersion) { Write-Output "node version good: $nodeVersion" } else { Write-Output "Waiting for symlink to update..." Start-Sleep 10 $nodeVersion = (&$nodeexe --version) Write-Output "nodeVersion: $nodeVersion" if ($nodeVersion -like "v$desiredVersion *") { Write-Output "Desired Node version ""$desiredVersion"" active: $nodeVersion" } else { Write-Output "There was a problem activating Node $desiredVersion" exit 1 } } -
jeremygaither created this gist
Jan 22, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,51 @@ $nvmrcVersion = Get-Content .nvmrc Write-Output "Desired Node version: $nvmrcVersion" $nvmAvailable = (nvm list available) $candidateVersionLines = $nvmAvailable | Where-Object -FilterScript { $_ -like ('* ' + ($nvmrcVersion) + '.*') } $candidateVersions = @() foreach ($line in $candidateVersionLines) { $versions = $line.Split('|').Trim() foreach ($version in $versions) { if ([string]::IsNullOrWhiteSpace($version)) { continue } Write-Output ("testing: $version") if ($version -like ($nvmrcVersion + '.*')) { Write-Output ("found: $version") $candidateVersions += $version } } } Write-Output "candidateVersions: $candidateVersions" foreach ($version in $candidateVersions) { if ((nvm use $version) -like '*not installed*') { nvm install $version nvm use $version } } $nodeVersion = (node --version) if ($nodeVersion -eq $candidateVersions[0]) { Write-Output "node version good: $nodeVersion" } else { Write-Output "Waiting for symlink to update..." Start-Sleep 5 $nodeVersion = (node --version) if ($nodeVersion -ne $candidateVersions[0]) { Write-Output "There was a problem activating Node $candidateVersions[0]" exit 1 } else { Write-Output "Desired Node version ""$candidateVersions[0]"" active: $nodeVersion" } }