get node install working in windows

This commit is contained in:
AJ ONeal
2020-04-27 19:15:18 +00:00
parent 92f1fa8f89
commit 90be397b83
4 changed files with 78 additions and 8 deletions
+19 -8
View File
@@ -1,10 +1,21 @@
mkdir %userprofile%\.local
mkdir %userprofile%\.local\opt
setlocal
@echo off
pushd "%userprofile%\.local\opt" || goto :error
powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip -OutFile node-v12.16.2-win-x64.zip || goto :error
rem Windows BSD-tar handles zip. Imagine that.
tar xf node-v12.16.2-win-x64.zip || goto :error
dir
rename node-v12.16.2-win-x64 node-v12.16.2 || goto :error
rmdir node-v12.16.2-win-x64
del node-v12.16.2-win-x64.zip || goto :error
popd || goto :error
pushd %userprofile%\.local\opt
powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip -OutFile node-v12.16.2-win-x64.zip
tar xf node-v12.16.2-win-x64.zip
move node-v12.16.2-win-x64 node-v12.16.2
popd
rem make npm not act stupid about which node to use... ugh (this should be the default)
"%userprofile%\.local\opt\node-v12.16.2\npm.cmd" --scripts-prepend-node-path=true config set scripts-prepend-node-path true
pathman add .local\opt\node-v12.16.2 || goto :error
pathman add %userprofile%\.local\opt\node-v12.16.2\bin
goto :EOF
:error
echo Failed with error #%errorlevel%.
exit /b %errorlevel%
+19
View File
@@ -0,0 +1,19 @@
pushd "%userprofile%" || goto :error
IF NOT EXIST .local (
mkdir .local || goto :error
)
IF NOT EXIST .local\bin (
mkdir .local\bin || goto :error
)
pushd .local\bin || goto :error
rem TODO %PROCESSOR_ARCH%
powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest "https://rootprojects.org/pathman/dist/windows/amd64/pathman.exe" -OutFile pathman.exe || goto :error
popd || goto :error
popd
goto :EOF
:error
echo Failed with error #%errorlevel%.
exit /b %errorlevel%
+2
View File
@@ -0,0 +1,2 @@
rem do nothing because this is a special case
rem due to windows complexities, webinstall.bat is always installed to ~/.local/bin/webi.bat
+38
View File
@@ -0,0 +1,38 @@
@echo off
pushd "%userprofile%" || goto :error
IF NOT EXIST .local (
mkdir .local || goto :error
)
IF NOT EXIST .local\bin (
mkdir .local\bin || goto :error
)
IF NOT EXIST .local\opt (
mkdir .local\opt || goto :error
)
pushd .local\bin || goto :error
if NOT EXIST pathman.exe (
echo updating PATH management
powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://webinstall.dev/pathman/pathman.bat -OutFile pathman-setup.bat || goto :error
call .\pathman-setup.bat || goto :error
del pathman-setup.bat || goto :error
rem TODO there's rumor of a windows tool called 'pathman' that does the same thing?
pathman add "%userprofile%\.local\bin" || goto :error
)
popd || goto :error
echo downloading and installing %1
powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://webinstall.dev/%1/%1.bat -OutFile %1-webinstall.bat || goto :error
rem TODO only add if it's not in there already
PATH .local\bin;%PATH%
call %1-webinstall.bat || goto :error
del %1-webinstall.bat || goto :error
popd
goto :EOF
:error
echo Failed with error #%errorlevel%.
exit /b %errorlevel%