mirror of
https://github.com/danbulant/deno_install
synced 2026-06-20 23:11:13 +00:00
feat: Support DENO_INSTALL in the powershell installer (#90)
This commit is contained in:
parent
7bdb161ab5
commit
f00e5a40a3
4 changed files with 44 additions and 21 deletions
15
README.md
15
README.md
|
|
@ -83,15 +83,24 @@ scoop reset deno
|
|||
|
||||
## Environment Variables
|
||||
|
||||
- `DENO_INSTALL` - The directory in which to install Deno. On Linux, this defaults to `$HOME/.local`.
|
||||
One application of this is a system-wide Shell installation to `/usr/local`:
|
||||
- `DENO_INSTALL` - The directory in which to install Deno. This defaults to
|
||||
`$HOME/.local` on Linux/macOS and `$HOME/.deno` on Windows. The executable
|
||||
is placed in `$DENO_INSTALL/bin`. One application of this is a system-wide
|
||||
installation:
|
||||
|
||||
**With Shell (`/usr/local`):**
|
||||
|
||||
```sh
|
||||
curl -fsSL https://deno.land/x/install/install.sh | sudo DENO_INSTALL=/usr/local sh
|
||||
```
|
||||
|
||||
Not yet supported in the PowerShell installer ([#76](https://github.com/denoland/deno_install/issues/76)).
|
||||
**With PowerShell (`C:\Program Files\deno`):**
|
||||
|
||||
```powershell
|
||||
# Run as administrator:
|
||||
$env:DENO_INSTALL = "C:\Program Files\deno"
|
||||
iwr https://deno.land/x/install/install.ps1 -useb | iex
|
||||
```
|
||||
|
||||
## Compatibility
|
||||
|
||||
|
|
|
|||
11
install.ps1
11
install.ps1
|
|
@ -13,10 +13,17 @@ if ($PSVersionTable.PSEdition -ne 'Core') {
|
|||
$IsMacOS = $false
|
||||
}
|
||||
|
||||
$BinDir = if ($IsWindows) {
|
||||
$DenoInstall = $env:DENO_INSTALL
|
||||
$BinDir = if ($DenoInstall) {
|
||||
if ($IsWindows) {
|
||||
"$DenoInstall\bin"
|
||||
} else {
|
||||
"$DenoInstall/bin"
|
||||
}
|
||||
} elseif ($IsWindows) {
|
||||
"$Home\.deno\bin"
|
||||
} else {
|
||||
"$Home/.deno/bin"
|
||||
"$Home/.local/bin"
|
||||
}
|
||||
|
||||
$Zip = if ($IsWindows) {
|
||||
|
|
|
|||
|
|
@ -17,29 +17,34 @@ if (!(Get-Module PSScriptAnalyzer -ListAvailable)) {
|
|||
# Lint.
|
||||
Invoke-ScriptAnalyzer *.ps1 -EnableExit -Exclude PSAvoidAssignmentToAutomaticVariable
|
||||
|
||||
$BinDir = if ($IsWindows) {
|
||||
"$Home\.deno\bin"
|
||||
# Test that we can install the latest version at the default location.
|
||||
if ($IsWindows) {
|
||||
Remove-Item "~\.deno" -Recurse -Force -ErrorAction SilentlyContinue
|
||||
} else {
|
||||
"$Home/.deno/bin"
|
||||
Remove-Item "~/.local/bin/deno" -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
$env:DENO_INSTALL = ""
|
||||
.\install.ps1
|
||||
if ($IsWindows) {
|
||||
~\.deno\bin\deno.exe --version
|
||||
} else {
|
||||
~/.local/bin/deno --version
|
||||
}
|
||||
|
||||
# Test we can install a specific version.
|
||||
Remove-Item $BinDir -Recurse -Force -ErrorAction SilentlyContinue
|
||||
# Test that we can install a specific version at a custom location.
|
||||
if ($IsWindows) {
|
||||
Remove-Item "~\deno-0.13.0" -Recurse -Force -ErrorAction SilentlyContinue
|
||||
$env:DENO_INSTALL = "$Home\deno-0.13.0"
|
||||
} else {
|
||||
Remove-Item "~/deno-0.13.0" -Recurse -Force -ErrorAction SilentlyContinue
|
||||
$env:DENO_INSTALL = "$Home/deno-0.13.0"
|
||||
}
|
||||
.\install.ps1 v0.13.0
|
||||
$DenoVersion = if ($IsWindows) {
|
||||
deno --version
|
||||
~\deno-0.13.0\bin\deno.exe --version
|
||||
} else {
|
||||
~/.deno/bin/deno --version
|
||||
~/deno-0.13.0/bin/deno --version
|
||||
}
|
||||
if (!($DenoVersion -like '*0.13.0*')) {
|
||||
throw $DenoVersion
|
||||
}
|
||||
|
||||
# Test we can install the latest version.
|
||||
Remove-Item $BinDir -Recurse -Force -ErrorAction SilentlyContinue
|
||||
.\install.ps1
|
||||
if ($IsWindows) {
|
||||
deno --version
|
||||
} else {
|
||||
~/.deno/bin/deno --version
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,11 +6,13 @@ set -e
|
|||
# TODO(ry) shellcheck -s sh ./*.sh
|
||||
|
||||
# Test that we can install the latest version at the default location.
|
||||
rm -f ~/.local/bin/deno
|
||||
unset DENO_INSTALL
|
||||
sh ./install.sh
|
||||
~/.local/bin/deno --version
|
||||
|
||||
# Test that we can install a specific version at a custom location.
|
||||
rm -rf ~/deno-0.13.0
|
||||
export DENO_INSTALL="$HOME/deno-0.13.0"
|
||||
./install.sh v0.13.0
|
||||
~/deno-0.13.0/bin/deno --version | grep 0.13.0
|
||||
|
|
|
|||
Loading…
Reference in a new issue