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

docs: Update core.md with clear explanation on reshim #1787

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

HwangTaehyun
Copy link

@HwangTaehyun HwangTaehyun commented Oct 6, 2024

Summary

Hi! For asdf beginners, reshim is a bit of a difficult concept at first, so it would be good to have a little more detailed explanation.

npm is usually installed by default when installing a node plugin, and according to the current example, when we do npm install -g yarn, npm itself is included in the asdf plugin lifecycle, so asdf will automatically create a shim for yarn.

For a clear explanation, I changed the docs for reshim to use yarn and pnpm instead of node's package manager npm.

@hyperupcall @jthegedus Could you review it?

Other Information

I'm participating in Hacktoberfest 2024, if the PR makes sense right now, could you add "hacktoberfest-accepted" label? Thanks!

https://hacktoberfest.com/participation/#:~:text=%5Baccepted%5D%20Your%20PR/MRs%20must%20be%20merged%2C%20have%20the%20%E2%80%9Chacktoberfest%2Daccepted%E2%80%9D%20label%2C%20or%20have%20an%20overall%20approving%20review.

@HwangTaehyun HwangTaehyun requested a review from a team as a code owner October 6, 2024 09:45
@hyperupcall
Copy link
Contributor

Hey! This LGTM, but i'm not a maintainer and I'm no longer contributing to this project

@HwangTaehyun
Copy link
Author

@hyperupcall Oh, I see. Thank you!!

@HwangTaehyun
Copy link
Author

HwangTaehyun commented Oct 8, 2024

@Stratus3D Hi! Could you kindly review it when you have the chance? Thank you in advance for your time and feedback.

@@ -38,7 +38,21 @@ A helper command to print the OS, Shell and `asdf` debug information. Share this
asdf reshim <name> <version>
```

This recreates the shims for the current version of a package. By default, shims are created by plugins during installation of a tool. Some tools like the [npm CLI](https://docs.npmjs.com/cli/) allow global installation of executables, for example, installing [Yarn](https://yarnpkg.com/) via `npm install -g yarn`. Since this executable was not installed via the plugin lifecycle, no shim exists for it yet. `asdf reshim nodejs <version>` will force recalculation of shims for any new executables, like `yarn`, for `<version>` of `nodejs` .
This recreates the shims for the current version of a package. By default, shims are created by `asdf` plugins during the installation of a tool. However, when using package managers like `yarn` or `pnpm` to globally install executables (for example, installing [serve](https://github.com/vercel/serve) via `yarn add global serve`), these packages are not installed during the asdf plugin lifecycle. As a result, shims for these executables are not automatically created.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with this (and the existing text) is that asdf is a generic version manager. Not everyone using asdf will know what yarn and npm are, as they don't use Node.JS. I understand the behavior may be confusing to newcomers, but I'm think the references to Node.JS package managers may make this more confusing for most new users.

Copy link
Author

@HwangTaehyun HwangTaehyun Oct 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the review! Yes, I agree! But as you know, the original example explanation for reshim was about node and npm, and it was not accurate, so I edited this part to make it clearer.

Also, in order to explain reshim, there should be a case where the asdf plugin lifecycle and other package managers exist, but I can't think of any except this case. Do you have any other good examples?

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

Successfully merging this pull request may close these issues.

3 participants