Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: gpg related errors in Ubuntu on Windows via WSL 1 #69

Closed
patrickserrano opened this issue Nov 25, 2020 · 2 comments · Fixed by #70
Closed

bug: gpg related errors in Ubuntu on Windows via WSL 1 #69

patrickserrano opened this issue Nov 25, 2020 · 2 comments · Fixed by #70
Assignees

Comments

@patrickserrano
Copy link
Contributor

After updating to prompt 8.0 I was getting the following when opening a new prompt:

prompt: using zsh shell
gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1
gpgconf: error running '/usr/bin/gpg-connect-agent NOP': General error
prompt: latest version already installed: be80c613ad66508acbc9061dd40bbbf3cac5ea8b.
patrick@VM : ~

Running gpg and gpgconf seems to have resolved the issue. But it's a pretty bad first run/upgrade experience for users who have't used gpg before.

System Information:

  • Prompt 8.0.0
  • Windows 10 running Ubuntu 2004.2020.812.0 via WSL1
@dmccaffery
Copy link
Member

Interesting. Must be specific to Ubuntu as configured in WSL1.

@dmccaffery dmccaffery changed the title Errors when starting prompt without gpg configured bug: gpg related errors in Ubuntu on Windows via WSL 1 Nov 25, 2020
@dmccaffery dmccaffery added the bug label Nov 25, 2020
@dmccaffery dmccaffery self-assigned this Nov 25, 2020
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2016/2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2016/2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 26, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 28, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 29, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 29, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 29, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
@dmccaffery dmccaffery linked a pull request Nov 29, 2020 that will close this issue
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Nov 29, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Dec 1, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Dec 1, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit to dmccaffery/prompt that referenced this issue Dec 1, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: automotiveMastermind#66, automotiveMastermind#69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit that referenced this issue Dec 1, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: #66, #69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery added a commit that referenced this issue Dec 16, 2020
* update prompt-install to detect and handle prompt installation for
  apple silicon (arm64e) architecture
* install homebrew used to manage rosetta 2 installations (x86_64) in
  /usr/local
* install homebrew used to manage native installations (arm64e) in
  /opt/homebrew
* introduce `brew-intel` and `brew-arm` aliases to enable management of
  both installations regardless of the architecture of the current shell
* update `use-shell` to detect arm64e native shells
* fix an issue where the PATH variable is reordered by invalid
  path_helper invocations
* normalise and fix areas where the PATH variable is modified
* normalise eval invocations (such as completions)
* remove completion check for gulp and grunt, which are largely obsolete
* fix an issue where it was assumed that gpg was available
* add end-to-end tests for Windows 2019 under WSL 1
* add end-to-end tests for all validated linux distributions
  - create a non-root user
  - add user to sudoers
  - install gosu
  - use gosu to invoke installs and tests under non-root user
* update VERSION logic in prompt-install / update to support the `next`
  branch and any future branches
  - this should be improved in the future to correctly recommend updates
    based on semver tags (or the branch/channel used to install prompt)

Closes: #66, #69

NOTE:

Homebrew, which we rely heavily on, does not yet officially support
apple silicon. In addition, very few formulae include bottles (pre-compiled)
binaries for the SoC. As a result, most formulae must be compiled from
source. Many formulae do not yet successfully compile for apple silicon
and so we must gracefully fallback to their x86_64 counterparts.

The following methodology is used to support prompt on apple silicon
macs:

1. install homebrew instance for intel/rosetta (x86_64) under /usr/local
2. detect apple silicon (arm64e) and install homebrew instance in
  /opt/homebrew
3. attempt to install all tools included with prompt natively in
  /opt/homebrew
4. install all tools included with prompt under rosetta in /usr/local
5. ensure /opt/homebrew is prioritised in the PATH variable

The above methodology will enable native tools if and when they are
available and working with apple silicon. Tools that are not available
and/or fail will fallback to the rosetta versions. This enables a
seamless experience for apple silicon users.
dmccaffery pushed a commit that referenced this issue Dec 16, 2020
# [8.2.0](v8.1.0...v8.2.0) (2020-12-16)

### Bug Fixes

* replace brew formulae detection ([f1142db](f1142db))
* **build:** use semantic-release token for release ([c0449ef](c0449ef))
* **install:** use script directory for all relative paths ([8f23fb3](8f23fb3))
* ensure update-prompt can use release channels ([34633dc](34633dc))
* include procps in debian prerequisites ([405e236](405e236))
* **switch-smart-card:** ignore missing keygrips ([09006e7](09006e7))

### Features

* **zsh:** enable history across terminal sessions ([afd4930](afd4930))
* add support for apple silicon ([b2685ce](b2685ce)), closes [#66](#66) [#69](#69)
@jeffreypmoran
Copy link

Hi @dmccaffery - @patrickserrano sent me here after I mentioned that I ran into this issue on my machine after running update-prompt today. The difference was that this wasn't in WSL1, it was in the terminal on my mac (Catalina, macOS 10.15.6).

prompt: using bash shell
gpgconf: error running '/usr/local/Cellar/gnupg/2.2.26/bin/gpg-connect-agent': exit status 1
gpgconf: error running '/usr/local/Cellar/gnupg/2.2.26/bin/gpg-connect-agent NOP': General error
prompt: a new version of prompt is available: a95f87e6bdba2404804fb3ba30396805c1b41102
  - run the update-prompt command line tool to upgrade

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants