mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-12-19 18:05:02 -07:00
Merge branch 'master' into nu/completion
This commit is contained in:
commit
e8d6372564
@ -56,7 +56,8 @@ _asdf() {
|
|||||||
uninstall | where | reshim)
|
uninstall | where | reshim)
|
||||||
if [[ " $plugins " == *" $prev "* ]]; then
|
if [[ " $plugins " == *" $prev "* ]]; then
|
||||||
local versions
|
local versions
|
||||||
versions=$(asdf list "$prev" 2>/dev/null)
|
# The first two columns are either blank or contain the "current" marker.
|
||||||
|
versions=$(asdf list "$prev" 2>/dev/null | colrm 1 2)
|
||||||
# shellcheck disable=SC2207
|
# shellcheck disable=SC2207
|
||||||
COMPREPLY=($(compgen -W "$versions" -- "$cur"))
|
COMPREPLY=($(compgen -W "$versions" -- "$cur"))
|
||||||
else
|
else
|
||||||
@ -67,7 +68,8 @@ _asdf() {
|
|||||||
local | global | shell)
|
local | global | shell)
|
||||||
if [[ " $plugins " == *" $prev "* ]]; then
|
if [[ " $plugins " == *" $prev "* ]]; then
|
||||||
local versions
|
local versions
|
||||||
versions=$(asdf list "$prev" 2>/dev/null)
|
# The first two columns are either blank or contain the "current" marker.
|
||||||
|
versions=$(asdf list "$prev" 2>/dev/null | colrm 1 2)
|
||||||
versions+=" system"
|
versions+=" system"
|
||||||
# shellcheck disable=SC2207
|
# shellcheck disable=SC2207
|
||||||
COMPREPLY=($(compgen -W "$versions" -- "$cur"))
|
COMPREPLY=($(compgen -W "$versions" -- "$cur"))
|
||||||
|
@ -364,7 +364,7 @@ export ASDF_DIR="/opt/asdf-vm"
|
|||||||
`asdf` scripts need to be sourced **after** you have set your `$PATH` and **after** you have sourced your framework (oh-my-zsh etc).
|
`asdf` scripts need to be sourced **after** you have set your `$PATH` and **after** you have sourced your framework (oh-my-zsh etc).
|
||||||
|
|
||||||
::: warning
|
::: warning
|
||||||
On macOS, starting a Bash or Zsh shell automatically calls a utility called `path_helper`. `path_helper` can rearrange items in `PATH` (and `MANPATH`), causing inconsistent behavior for tools that require specific ordering. To workaround this, `asdf` on macOS defaults to forcily adding its `PATH`-entries to the front (taking highest priority). This is controllable with the `ASDF_FORCE_PREPEND` variable.
|
On macOS, starting a Bash or Zsh shell automatically calls a utility called `path_helper`. `path_helper` can rearrange items in `PATH` (and `MANPATH`), causing inconsistent behavior for tools that require specific ordering. To workaround this, `asdf` on macOS defaults to forcibly adding its `PATH`-entries to the front (taking highest priority). This is controllable with the `ASDF_FORCE_PREPEND` variable.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Restart your shell so that `PATH` changes take effect. Opening a new terminal tab will usually do it.
|
Restart your shell so that `PATH` changes take effect. Opening a new terminal tab will usually do it.
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
## 1. 依存関係のインストール
|
## 1. 依存関係のインストール
|
||||||
|
|
||||||
asdfの動作には`git`および`curl`が必要です。以下の表は、 _あなたが使用している_ パッケージマネージャで実行するコマンドの _一部例_ です(some might automatically install these tools in later steps)。
|
asdfの動作には`git`および`curl`が必要です。以下の表は、 _あなたが使用している_ パッケージマネージャで実行するコマンドの _一部例_ です(いくつかのツールは、後の手順で自動的にインストールされます)。
|
||||||
|
|
||||||
| OS | パッケージマネージャ | コマンド |
|
| OS | パッケージマネージャ | コマンド |
|
||||||
| ----- | -------------------- | ---------------------------------- |
|
| ----- | -------------------- | ---------------------------------- |
|
||||||
@ -34,8 +34,9 @@ asdfの動作には`git`および`curl`が必要です。以下の表は、 _あ
|
|||||||
|
|
||||||
<!-- x-release-please-start-version -->
|
<!-- x-release-please-start-version -->
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
|
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -299,7 +300,7 @@ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.ps1\"" >> ~/.config/powershell
|
|||||||
下記コマンドで、`~/.config/nushell/config.nu`に`asdf.nu`を追加します:
|
下記コマンドで、`~/.config/nushell/config.nu`に`asdf.nu`を追加します:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
"\n$env.ASDF_NU_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path
|
"\n$env.ASDF_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path
|
||||||
```
|
```
|
||||||
|
|
||||||
コマンド補完は自動的に設定されます。
|
コマンド補完は自動的に設定されます。
|
||||||
@ -310,7 +311,7 @@ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.ps1\"" >> ~/.config/powershell
|
|||||||
下記コマンドで、`~/.config/nushell/config.nu`に`asdf.nu`を追加します:
|
下記コマンドで、`~/.config/nushell/config.nu`に`asdf.nu`を追加します:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
"\n$env.ASDF_NU_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path
|
"\n$env.ASDF_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | str trim | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path
|
||||||
```
|
```
|
||||||
|
|
||||||
コマンド補完は自動的に設定されます。
|
コマンド補完は自動的に設定されます。
|
||||||
@ -321,7 +322,7 @@ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.ps1\"" >> ~/.config/powershell
|
|||||||
下記コマンドで、`~/.config/nushell/config.nu`に`asdf.nu`を追加します:
|
下記コマンドで、`~/.config/nushell/config.nu`に`asdf.nu`を追加します:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
"\n$env.ASDF_NU_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path
|
"\n$env.ASDF_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path
|
||||||
```
|
```
|
||||||
|
|
||||||
コマンド補完は自動的に設定されます。
|
コマンド補完は自動的に設定されます。
|
||||||
@ -363,7 +364,7 @@ export ASDF_DIR="/opt/asdf-vm"
|
|||||||
`asdf`のスクリプトは、`$PATH`を設定した**あと**、かつ、使用中のフレームワーク(oh-my-zsh など)を呼び出した**あと**に記述する必要があります。
|
`asdf`のスクリプトは、`$PATH`を設定した**あと**、かつ、使用中のフレームワーク(oh-my-zsh など)を呼び出した**あと**に記述する必要があります。
|
||||||
|
|
||||||
::: warning 警告
|
::: warning 警告
|
||||||
macOSでは、BasgまたはZSHシェルを起動すると、自動的に`path_helper`というユーティリティが呼び出されます。`path_helper`は`PATH`(および`MANPATH`)内の項目の順番を並び替えることができるため、特定の順序を必要とするツールの動作に、一貫性が無くなってしまいます。これを回避するため、macOSで`asdf`を利用するときは、強制的に`PATH`エントリの先頭に追加する(優先度を一番高くする)ようにしてください。これは、`ASDF_FORCE_PREPEND`環境変数で制御できます。
|
macOSでは、BashまたはZSHシェルを起動すると、自動的に`path_helper`というユーティリティが呼び出されます。`path_helper`は`PATH`(および`MANPATH`)内の項目の順番を並び替えることができるため、特定の順序を必要とするツールの動作に、一貫性が無くなってしまいます。これを回避するため、macOSで`asdf`を利用するときは、強制的に`PATH`エントリの先頭に追加する(優先度を一番高くする)ようにしてください。これは、`ASDF_FORCE_PREPEND`環境変数で制御できます。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
`PATH`の変更を反映するために、シェルを再起動してください。たいていの場合、ターミナルのタブを新たに開けばOKです。
|
`PATH`の変更を反映するために、シェルを再起動してください。たいていの場合、ターミナルのタブを新たに開けばOKです。
|
||||||
|
@ -152,6 +152,31 @@ asdfプラグインのショートネームリポジトリの同期を無効化
|
|||||||
|
|
||||||
備考: `ASDF_CONCURRENCY`環境変数が設定されている場合はそちらが優先されます。
|
備考: `ASDF_CONCURRENCY`環境変数が設定されている場合はそちらが優先されます。
|
||||||
|
|
||||||
|
### プラグインフック
|
||||||
|
|
||||||
|
下記のタイミングで、カスタムコードを実行することができます:
|
||||||
|
|
||||||
|
- プラグインのインストール、Shim再生成、更新および削除をする際の前後
|
||||||
|
- プラグインコマンドの実行前後
|
||||||
|
|
||||||
|
例えば、`foo`というプラグインがインストールされていて、`bar`という実行可能ファイルが提供されている場合、以下のようなフックを使うことで、一番最初にカスタムコードを実行することができます:
|
||||||
|
|
||||||
|
```text
|
||||||
|
pre_foo_bar = echo Executing with args: $@
|
||||||
|
```
|
||||||
|
|
||||||
|
以下のパターンがサポートされています:
|
||||||
|
|
||||||
|
- `pre_<plugin_name>_<command>`
|
||||||
|
- `pre_asdf_download_<plugin_name>`
|
||||||
|
- `{pre,post}_asdf_{install,reshim,uninstall}_<plugin_name>`
|
||||||
|
- `$1`: フルバージョン
|
||||||
|
- `{pre,post}_asdf_plugin_{add,update,remove,reshim}`
|
||||||
|
- `$1`: プラグイン名
|
||||||
|
- `{pre,post}_asdf_plugin_{add,update,remove}_<plugin_name>`
|
||||||
|
|
||||||
|
どのようなコマンドの前後にどのようなコマンドフックを実行すべきかについての詳細は、[プラグインの作成](../plugins/create.md)をご覧ください。
|
||||||
|
|
||||||
## 環境変数
|
## 環境変数
|
||||||
|
|
||||||
環境変数の設定値は、お使いのシステムやシェルによって異なります。デフォルトロケーションは、インストールした場所や方法(Gitクローン、Homebrew、AUR)によって異なります。
|
環境変数の設定値は、お使いのシステムやシェルによって異なります。デフォルトロケーションは、インストールした場所や方法(Gitクローン、Homebrew、AUR)によって異なります。
|
||||||
|
@ -814,7 +814,7 @@ asdf plugin test <plugin_name> <plugin_url> [--asdf-tool-version <version>] [--a
|
|||||||
デフォルトは、`asdf latest <plugin-name>`です。
|
デフォルトは、`asdf latest <plugin-name>`です。
|
||||||
- オプションで`[--asdf-plugin-gitref <git_ref>]`を指定すると、
|
- オプションで`[--asdf-plugin-gitref <git_ref>]`を指定すると、
|
||||||
そのコミット/ブランチ/タグでプラグイン自体をチェックアウトします。
|
そのコミット/ブランチ/タグでプラグイン自体をチェックアウトします。
|
||||||
これは、プラグインのCIにおいて、プルリクエストをテストする際に便利です。
|
これは、プラグインのCIにおいて、プルリクエストをテストする際に便利です。デフォルトは、プラグインリポジトリのデフォルトブランチとなります。
|
||||||
- オプションの`[test_command...]`パラメータは、インストールしたツールが正しく動作するかを確認するために実行するコマンドです。
|
- オプションの`[test_command...]`パラメータは、インストールしたツールが正しく動作するかを確認するために実行するコマンドです。
|
||||||
通常は、`<tool> --version`または`<tool> --help`となります。
|
通常は、`<tool> --version`または`<tool> --help`となります。
|
||||||
例えば、NodeJSプラグインをテストするときは、次のように実行します:
|
例えば、NodeJSプラグインをテストするときは、次のように実行します:
|
||||||
|
@ -80,7 +80,7 @@ asdf local <name> latest[:<version>]
|
|||||||
|
|
||||||
`global` writes the version to `$HOME/.tool-versions`.
|
`global` writes the version to `$HOME/.tool-versions`.
|
||||||
|
|
||||||
`shell` set the version to an environment variable named `ASDF_${TOOL}_VERSION`, for the current shell session only.
|
`shell` sets the version to an environment variable named `ASDF_${TOOL}_VERSION`, for the current shell session only.
|
||||||
|
|
||||||
`local` writes the version to `$PWD/.tool-versions`, creating it if needed.
|
`local` writes the version to `$PWD/.tool-versions`, creating it if needed.
|
||||||
|
|
||||||
|
@ -243,7 +243,7 @@ install_tool_version() {
|
|||||||
fi
|
fi
|
||||||
# Otherwise, remove the download directory if it exists
|
# Otherwise, remove the download directory if it exists
|
||||||
elif [ -d "$download_path" ]; then
|
elif [ -d "$download_path" ]; then
|
||||||
rm -r "$download_path"
|
rm -rf "$download_path"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
reshim_command "$plugin_name" "$full_version"
|
reshim_command "$plugin_name" "$full_version"
|
||||||
|
@ -3,6 +3,11 @@ setup_suite() {
|
|||||||
# tests fail when it is set to something other than the temp dir.
|
# tests fail when it is set to something other than the temp dir.
|
||||||
unset ASDF_DIR
|
unset ASDF_DIR
|
||||||
|
|
||||||
|
# Also unset below variables, because in users shell shimmed commands
|
||||||
|
# (include bats) export them by determining user's real HOME.
|
||||||
|
unset ASDF_DATA_DIR
|
||||||
|
unset ASDF_CONFIG_FILE
|
||||||
|
|
||||||
# Set an agnostic Git configuration directory to prevent personal
|
# Set an agnostic Git configuration directory to prevent personal
|
||||||
# configuration from interfering with the tests
|
# configuration from interfering with the tests
|
||||||
export GIT_CONFIG_GLOBAL=/dev/null
|
export GIT_CONFIG_GLOBAL=/dev/null
|
||||||
|
Loading…
Reference in New Issue
Block a user