Commit Graph

57 Commits

Author SHA1 Message Date
Augusto Moura
4d9196d0ad
feat(shims): implement new wrapper strategy
Now we are using a shim template, we find the true binary in the path
and then call asdf reshim only when necessary
2021-07-19 15:26:56 -03:00
Augusto Moura
6ddcdfdb81
refactor(auto-reshim): add npm wrapper and remove npm hooks
Instead of relying in npm global installation hook for auto reshimming,
a pretty obscure functionality of npm, I just wrote a wrapper script
that intercept calls for npm and invokes asdf reshim whenever necessary.

The wrapper needs to be configured manually by the user, following the
practices of other plugins with similar settings.

I also wrote an utility for printing the current wrapper path easing the
configuration of new environments.

README now has an example of how to configure auto-reshimming.

There's also a notice on plugin installation about setting up the
auto-reshimming configuration.

A notice was also added to the install command, so that we reach more
people about the changes.
2021-05-16 21:06:10 -03:00
Augusto Borges de Moura
d2adc081be
Merge pull request #229 from Roman2K/master
Add support for ASDF_CONCURRENCY
2021-05-01 19:08:51 -03:00
villu164
cb61e3ddf9
Update install for better error message (#230)
* Clarify improved GPG error message.

Co-authored-by: Trevor Brown <Stratus3D@users.noreply.github.com>
2021-04-20 08:17:09 -04:00
Roman Le Négrate
45024fd545
add support for ASDF_CONCURRENCY 2021-04-17 21:50:40 +02:00
Yaroslav Rogov
e0f49386c9 feat: Implement index tab cache (#219)
* feat: Implement index tab cache
* feat: Switch to etag-based caching
* Update lib/utils.sh

Co-authored-by: Augusto Borges de Moura <augusto.borgesm@gmail.com>
Co-authored-by: Trevor Brown <Stratus3D@users.noreply.github.com>
2021-04-09 13:41:07 -03:00
Dave Ashby
9a093d4be5 tweak automatic key import 2021-04-09 13:41:07 -03:00
Dave Ashby
e0f170fc52 tweak gpg check and add automatic key installation 2021-04-09 13:41:07 -03:00
Augusto Moura
e6ace0fca5 separate install functions between alias and canon 2021-04-09 13:41:07 -03:00
Augusto Moura
6b287904e4 install alias as symlinks to real versions 2021-04-09 13:41:07 -03:00
Augusto Moura
753b4a7b26 add better formatting and commentaries 2021-04-09 13:41:06 -03:00
Augusto Moura
d5d2ea6ce9 refactor list all to use the official index.tab
also add support for lts aliases, giving it's trivial to implement after
processing the tab

also get better error messages for missing versions
2021-04-09 13:41:06 -03:00
Adam Hawkins
6cd8bc40b2 fix(bin): add --yes to confirm GPG overwrite 2021-04-09 13:41:06 -03:00
Adam Hawkins
2abce68edc fix(bin): close #165
This file may already exist. It's unclear why this happens though.
2021-04-09 13:41:06 -03:00
Brian van Burken
3bff0719af Support non-default default-npm-packages location. 2021-04-09 13:41:06 -03:00
Trevor Brown
adb47b8bc9 Add comment on individual uname -m clause 2021-04-09 13:41:06 -03:00
Nicolas Caille
cc7c7d20ae add 'amd64' in install script function get_nodejs_machine_hardware_name for FreeBSD 2021-04-09 13:41:06 -03:00
Ben Limmer
f0cc64c799
Update bin/install
Co-authored-by: Augusto Borges de Moura <augusto.borgesm@gmail.com>
2021-04-09 10:18:04 -06:00
Ben Limmer
44cff5c4b0
Suggest updating plugin upon failure 2020-11-14 14:17:18 -07:00
Thomas B Homburg
66f5292b45 Extract gpg key name to env var 2020-05-14 22:32:14 +02:00
Thomas B Homburg
b7430cbecc Fix install 2020-05-13 17:43:43 +02:00
Thomas B Homburg
c3aec726a2 Import and use gpg keys in separate keyring
Using separate gpg keyring file in
~/.gnupg/asdf-nodejs.gpg to avoid
mixing with default keyring
2020-05-13 17:43:43 +02:00
Trevor Brown
cd3a1a7ddb
Merge pull request #162 from homburg/fix/default-packages-install-location
Fix `.default-npm-packages` install location
2020-05-12 15:52:11 -04:00
天驱 · 练剑 / TianQu · LianJian
4c4d4ef6c7
--check to -c for busybox
when use asdf-node in docker image alpine
```
sha256sum: unrecognized option: check
BusyBox v1.31.1 () multi-call binary.

Usage: sha256sum [-c[sw]] [FILE]...

Print or check SHA256 checksums

        -c      Check sums against list in FILEs
        -s      Don't output anything, status code shows success
        -w      Warn about improperly formatted checksum lines
```
2020-05-10 04:07:59 +08:00
Thomas B Homburg
4b6591e3bb Fix .default-npm-packages install location 2020-05-08 15:01:03 +02:00
Ryan Roden-Corrent
dd80ca0fbf
Align install PGP warning with README
If you haven't imported the necessary PGP keys, the installer will print an error about "bootstrapping trust" and direct you to the README. However, the words "bootstrap" and "trust" never appear in the README.

This adjusts the warning to include some words that you can actually search the README for.
2020-02-25 16:01:05 -05:00
Trevor Brown
c975636239 Remove hardcoded plugin name and replace with variable
Fixes issue #20
2020-01-14 09:54:39 -05:00
Trevor Brown
7b4f11365a Hide gpg signature trust warning 2019-12-20 10:32:47 -05:00
Ryan Bigg
ad152f3b72 Use 'command' over 'which' to check for shasum
'command' is a shell builtin on all current shells

'which' is not builtin to bash, and if the node 'which' package is installed, that package may interfere

See https://github.com/asdf-vm/asdf-nodejs/issues/137 for an example of that interference
2019-10-03 14:44:10 +10:00
Thomas B Homburg
7677cbfa78 Get command exit code without exiting 2019-05-03 13:16:52 +02:00
Thomas B Homburg
1656548338 Fix bash ansi color output 2019-05-03 13:14:59 +02:00
David Nicolson
6188c0dc71 Use UTF-8 for output 2019-02-24 21:35:15 +01:00
Lukas Elmer
441d9f857e
add option to temporarily disable reshimming 2019-01-23 19:02:33 +01:00
Trevor Brown
f7e82ef14a
Merge pull request #84 from FreedomBen/shasum-missing-fix
Add handling for missing shasum
2018-12-02 14:29:15 -05:00
Ondrej Galbavy
d49479dbc4 Show proper error on invalid requested version 2018-10-20 20:42:40 +02:00
Trevor Brown
0f4ab109a2
Merge pull request #77 from SunDoge/set-mirror
Allow setting nodejs mirror url
2018-07-19 09:45:26 -04:00
Benjamin Porter
3bcfc82506 Add handling for missing shasum
On some platforms, including Fedora and derivatives, and Arch and
derivatives, the binary `shasum` does not exist.  Instead, sha256sum
should be used.

This patch checks for the existence of sha256sum, as well as shasum,
and uses whichever is present.  If none are present, a helpful error
message is printed out.

Tested on Fedora 28
  - Scenarios tested:

    -------------------------------
    | Sha256sum | shasum | Works? |
    |    Yes    |   No   |  Yes   |
    |    No     |   Yes  |  Yes   |
    |    Yes    |   Yes  |  Yes   |
    |    No     |   No   |  Yes   |
    -------------------------------
2018-06-28 19:26:05 -06:00
Trevor Brown
d98745d9a5
Move path to installed Node.JS binaries to the front of PATH 2018-06-14 08:23:31 -04:00
SunDoge
3d6c468770 ok to set taobao mirror 2018-05-12 01:25:18 +08:00
Maddison Hellstrom
6e8fc1fbab Override PATH env when calling npm install
A bug existed where, if no versions of `node` and `npm` are installed
already, running `asdf install node <version>` while having any packages
listed inside `.default-npm-packages` would fail to install those
default packages because the newly installed node version's `bin`
directory is not in the `PATH` yet.

Fixes #67
2018-05-04 22:43:28 -07:00
Randy Stauner
6ea988b663 Show error message when gpg is not found
fixes #61
2018-02-13 08:34:12 -07:00
Trevor Brown
1950ad3fed
Merge pull request #50 from pachonk/default-npm-packages
Add support for a default-npm-packages file
2017-12-18 11:40:19 -05:00
Trevor Brown
c7ebeffe99
Merge pull request #41 from petermm/patch-1
support arm 64bit (arm8)
2017-12-18 11:16:01 -05:00
Alex Piechowski
f3773e5371 Add support for a default-npm-packages file
Partial Credit: https://github.com/asdf-vm/asdf-ruby/pull/35
2017-07-30 23:54:07 -05:00
vic
be1deeebd3 Use a more portable version sort.
On some linux's sort command does not take the `-V` option (Alpine base image with busybox). Use a more portable `sort_versions` from rbenv. Also I guess this removes the dependency on gsort in OSX.
2017-07-23 05:39:44 -05:00
peter madsen
adef6e617f support arm 64bit (arm8)
uname -m returns aarch64 on arm8.

however nodejs serves the file as 'arm64' (eg. https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-arm64.tar.xz)

the arm6 and arm7 filenames looks to be correct.
2017-05-06 22:12:32 +02:00
Robin Schneider
7e3e6e53ff
Use ASDF_DIR environment variable if available
Related to: https://github.com/asdf-vm/asdf/pull/156
2017-03-16 23:02:02 +01:00
Zura Guerra
fed3e97b69 Change some commands in the install script to make it work for both Linux and MacOS 2017-02-22 17:35:31 -06:00
Robin Schneider
2d0460219d
mktemp on OSX only supports short command line parameters Oo
Related to: #15
2017-02-21 00:21:31 +01:00
Robin Schneider
001999f36c
Give user hint if trust might not be bootstrapped yet to ease upgrade 2017-02-20 08:39:49 +01:00