Michael Martinez
11507c3f38
Fixes bug where NVM init script is appended to the wrong startup file
...
The existence of .bashrc, .bash_profile or .zshrc doesn't prove that the file is the currently utilized startup file or that it is the only file sourced. Because the current code operates under this assumption, the code:
```bash
export NVM_DIR="/Users/<USERNAME>/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
```
is getting appended to the wrong profile for zsh users.
1) `[ -d ~/.nvm ] && rm -rfv ~/.nvm `
2) Install Zsh via https://github.com/robbyrussell/oh-my-zsh
3) Run nvm install script with cURL.
4) Run `which nvm`. Observe it's not in `$PATH`
5) Open a new shell session. Observe the issue persists.
To fix this, the code in this PR checks:
- Is `$PROFILE` set? If so, echo it.
- What is the active shell that is executing this script? (the parent shell)
- If the shell is zsh, echo the zshrc file
- If the shell is bash:
- Is it login or non-login? Echo the neccessary file
- Is it interactive or non interactive? Echo the neccessary
file.
This logic should address the primary bug and also prevent future bugs.
Note: bash by default reads ~/.profile last so it makes sense to write to ~/.bashrc or ~/.bash_profile instead of ~/.profile
See: https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html
Passed Manual Tests:
✅ zsh
✅ bash from within script
✅ bash as default shell
✅ bash -l from within zsh
2015-01-15 01:35:36 -08:00
Jordan Harband
448bd38a55
v0.22.2
2015-01-14 15:44:40 -08:00
Jordan Harband
0ad5a450fe
Put node versions >= 0.12 in `versions/node` instead of just `versions`
2015-01-14 12:23:06 -08:00
Jordan Harband
d5e21be164
Add `nvm_ensure_version_prefix` unit tests.
2015-01-13 23:51:54 -08:00
Jordan Harband
797c5ab70b
Move "install node from source" logic into `nvm_install_node_source` function.
2015-01-13 18:15:42 -08:00
Jordan Harband
0e209ce890
Move "install node binary" logic into `nvm_install_node_binary` function.
2015-01-13 14:08:56 -08:00
Jordan Harband
9a57a891b9
Refactor OS and architecture detection into separate functions.
2015-01-13 02:41:55 -08:00
Jordan Harband
3d5ded1815
Update the way `nvm_ls` sorts things.
2015-01-13 00:21:33 -08:00
Jordan Harband
7807a9f09e
Consolidate "alias" directory to a method.
2015-01-12 01:27:53 -08:00
Jordan Harband
835c006b5e
Better way to search multiple directories in `nvm_ls`
2015-01-12 01:15:48 -08:00
Jordan Harband
34e51f9f02
Proper quoting and $(…) vs `…`.
2015-01-11 12:13:14 -08:00
Jordan Harband
4b5885d69d
Store the version path in a local variable for reuse.
2015-01-11 12:04:26 -08:00
Jordan Harband
bf794ff8da
Consistently prefix builtins with `command`
2015-01-11 11:53:24 -08:00
Jordan Harband
0bd7372c64
Rename this local var in `nvm_version_dir`
2015-01-11 11:38:55 -08:00
Jordan Harband
0a142b7e7a
v0.22.1
2015-01-10 19:43:36 -08:00
Jordan Harband
3fc82d6b2f
Use `command sed` for people who alias `sed`.
...
Fixes #493 .
2015-01-09 01:50:05 -08:00
Jordan Harband
c6489440dc
Add nvm_ls_current test for #605 and `zsh`.
2015-01-01 23:31:55 -08:00
Jordan Harband
67e8939311
Merge pull request #605 from dhcmrlchtdj/fix_which
...
Fix which command in zsh (#604 ).
2015-01-01 22:28:30 -08:00
niris
a26007ec0d
fix test suit
2015-01-02 12:51:59 +08:00
niris
3f5ce8b93a
Fix which command in zsh ( #604 ).
2015-01-02 10:20:57 +08:00
Jordan Harband
8328741792
Removing an unnecessary `return $?`
2014-12-28 22:29:26 -08:00
Jordan Harband
8e45afb9f1
Move the version to a single location, nvm_latest_version.
2014-12-28 15:59:06 -08:00
Jordan Harband
fd2fb24b03
Refactor `nvm_source` a bit.
2014-12-28 15:55:44 -08:00
Jordan Harband
4708cc73ef
Update `semver`
2014-12-27 01:39:48 -08:00
Jordan Harband
c91e8d0ba2
v0.22.0
2014-12-26 16:30:21 -08:00
Jordan Harband
f8b143c594
Merge pull request #602 from ljharb/install_on_source
...
Support `--install` option on sourcing `nvm.sh`
2014-12-26 14:03:22 -08:00
Jordan Harband
9a4e9060d8
Don't bother testing --install option on source, or supporting it, unless the shell supports passing options upon sourcing.
2014-12-26 13:33:33 -08:00
Jordan Harband
3df0caefa5
Support `--install` option upon sourcing.
2014-12-26 12:19:35 -08:00
Jordan Harband
274369dc40
Remove trailing whitespace
2014-12-22 23:08:03 -08:00
Jordan Harband
bef3a5ce3a
v0.21.0
2014-12-22 12:03:33 -08:00
Jordan Harband
0cb8c9ac2f
Merge pull request #599 from ljharb/nvm_get_latest
...
Add `nvm_get_latest`
This relates to #522 , #561 , #400 .
`nvm_get_latest` uses http://latest.nvm.sh which redirects to https://github.com/creationix/nvm/releases/latest which in turn redirects to the latest release tag.
2014-12-22 11:02:07 -08:00
Jordan Harband
25c61594fe
Tests for `nvm_get_latest`
2014-12-21 18:13:59 -08:00
Jordan Harband
0a739e3fa9
Add `nvm_get_latest`
2014-12-21 16:33:52 -08:00
Jordan Harband
c0a20f2fa3
Update `semver`
2014-12-19 17:13:00 -08:00
Jordan Harband
2d78d69d4c
Properly outputting the version when nvm_version_path outputs the new "versions" subdirectory.
2014-12-19 17:12:38 -08:00
Jordan Harband
9e17b5059c
Return the proper exit code of `which` directly.
2014-12-19 16:23:27 -08:00
Jordan Harband
0ac2c787be
Merge pull request #597 from danielb2/which
...
Fix `nvm which` to use conventional direct path to program, like system `which`
2014-12-19 13:05:39 -08:00
Daniel Bretoi
99ca0de18f
revert echoing path. make tests even better
2014-12-19 11:31:46 -08:00
Daniel Bretoi
f196ace5dd
style
2014-12-19 11:10:50 -08:00
Daniel Bretoi
d1a90ca15c
work like system which. show system node without changing to use it
2014-12-19 11:10:50 -08:00
Jordan Harband
b3178ca925
Add "--quiet" to git commands post-install.
...
Mentioned in #595 .
2014-12-18 10:37:10 -08:00
Jordan Harband
b9df3fccb4
Remove trailing whitespace.
2014-12-17 01:30:29 -08:00
Jordan Harband
f408d68afc
Add `nvmrc` note to `nvm which` blurb.
2014-12-17 01:30:23 -08:00
Jordan Harband
fc3a30dd0e
Add `nvm which` to `bash_completion`
2014-12-17 01:29:38 -08:00
Jordan Harband
74b36b09ff
Merge pull request #583 from danielb2/which
...
Adds `nvm which`
2014-12-17 01:26:50 -08:00
Jordan Harband
080f2149ac
Update `urchin`
2014-12-08 21:51:06 -08:00
Jordan Harband
3bd148056e
Fixing deactivate tests.
...
Fixes #357 .
2014-12-03 00:04:43 -08:00
Jordan Harband
5edf013127
Merge pull request #591 from mklement0/fix_make_file
...
obsolete check for the urchin cross-shell test feature; fix for spurious...
2014-12-02 23:40:24 -08:00
Michael Klement
ae908cbff6
obsolete check for the urchin cross-shell test feature; fix for spurious warnings; improved robustness
2014-12-03 01:47:54 -05:00
Daniel Bretoi
7805492bda
merge with master
2014-12-02 13:01:37 -08:00