Skip to content

Conversation

@menaechmi
Copy link
Contributor

Install for zsh currently fails if you use $ZDOTDIR to change where the zsh files are located - see #3128. This is a simple way to make nvm find them first and then default to $HOME if unset. I tested it with $ZDOTDIR/.zprofile and $ZDOTDIR/.zshrc, as well as an unset $ZDOTDIR for both and it works.

I added a few tests for it, but I couldn't see if the tests actually worked right - all I get is Error: the install instructions explicitly say to pipe the install script to bash; please follow them. I wrote them to follow the existing structure.

After starting this, I did find #3365 (whoops) - I think this implementation is a little better by not relying on .zshenv (which can also be placed in the ZDOTDIR)

@ljharb ljharb added shell: zsh installing nvm: profile detection Issues with nvm's own install script, related to figuring out the right profile file. labels Nov 8, 2024
Copy link
Member

@ljharb ljharb left a comment

Choose a reason for hiding this comment

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

Thanks, this is great!

@ljharb ljharb changed the title [fix] add ZDOTDIR to zsh search [New] install.sh: add $ZDOTDIR to zsh search Nov 8, 2024
@ljharb ljharb merged commit cd22c84 into nvm-sh:master Nov 8, 2024
167 of 169 checks passed
@ljharb
Copy link
Member

ljharb commented Nov 8, 2024

hmm, one of the tests is failing on master, but it passed on the PR

ljharb pushed a commit to menaechmi/nvm that referenced this pull request Nov 12, 2024
ljharb added a commit that referenced this pull request Mar 11, 2025
New Stuff
 - `install.sh`: add `$ZDOTDIR` to zsh search (#3458)

Fixes
 - `reinstall-packages`: do not reinstall corepack (#3544)
 - avoid bash-specific syntax (#3499)
 - `install-latest-npm`: npm v11 is out
 - `nvm_install_latest_npm`: avoid unbound variable (#3447)
 - give a more helpful message when `lts` alias is mistakenly used (#3441)
 - `nvm ls`, `nvm alias`, `nvm install`: error when an LTS name is invalid
 - `nvm_normalize_lts`: error when an LTS name is not lowercase (#3417)

Documentation
 - [readme] update link
 - [readme] fix `--no-use` example (#3479)
 - [readme] update copyright notice (#3507)
 - [readme] note zsh-nvm's AUTO_USE option (#2670)
 - [readme] add note about reloading zshrc after editing (#3052)
 - [readme] Update shell profile file install notes (#2241)
 - [readme] add docker tips (#2318)
 - [readme] remove `avn` from readme (#3469)
 - [readme] fnm -> nvm.fish (#2541)

Refactors
 - prefer `case` over if/else chains
 - combine `sed -e` invocations/arguments

Tests
 - `nvm exec`/`nvm run`: add `--silent` tests (#1259)
 - [actions] release test needs git tags
 - migrate `installation_iojs` test suite to GitHub Actions (#3476)
 - Migrate slow test suite from Travis CI (#3470)
 - temporarily skip this failing travis test to unblock progress
 - [actions] TOC: use latest LTS node
 - `install.sh`: clean up `nvm_detect_profile` tests
 - `nvm_detect_profile`: refactor (#3467)
 - run urchin tests on pull requests (#3466)
 - update mocks
 - ensure that unit tests use only mocked LTS names
 - [actions] use `node/install` instead of `node/run`

Meta
 - disable blank issues
 - update issue template
 - add DCO (#3456)
 - Rename .github/ISSUE_TEMPLATE.md to .github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md (#3454)
@uchitwai

This comment was marked as spam.

@uchitwai

This comment was marked as spam.

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

Labels

installing nvm: profile detection Issues with nvm's own install script, related to figuring out the right profile file. shell: zsh

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants