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

install nightly? #1053

Open
tomByrer opened this issue Apr 6, 2016 · 23 comments
Open

install nightly? #1053

tomByrer opened this issue Apr 6, 2016 · 23 comments
Assignees
Labels
feature requests I want a new feature in nvm! installing node Issues with installing node/io.js versions.

Comments

@tomByrer
Copy link
Contributor

tomByrer commented Apr 6, 2016

Would it be possible to install nightly versions via nvm?
Different folder. Good news is that they have a file listing that seems to be sorted newest on top:
https://nodejs.org/download/nightly/index.tab

@ljharb ljharb added installing node Issues with installing node/io.js versions. feature requests I want a new feature in nvm! labels Apr 6, 2016
@ljharb
Copy link
Member

ljharb commented Apr 6, 2016

Currently, no. Long before nightlies are supported, I'd need to support, in this order:

  1. building iojs from source (done, but tests time out)
  2. building node 4+ from source (will be easy after the first one)
  3. installing node 4 release candidates
  4. finally, nightlies.

In other words, this is blocked on, among other things, #779.

JaKXz added a commit to JaKXz/nyc that referenced this issue May 8, 2016
Waiting on nvm-sh/nvm#1053 for nightly installs.
bcoe pushed a commit to istanbuljs/nyc that referenced this issue May 14, 2016
* Test against more relevant versions of node

- allow for `node@unstable` failures
- slightly quicker npm install

* Remove "unstable" from Node versions

Waiting on nvm-sh/nvm#1053 for nightly installs.

* Keep node@0.10

* Test against node@5 and node@0.12
@ljharb
Copy link
Member

ljharb commented Sep 3, 2016

Unblocked by #1204.

@ljharb ljharb closed this as completed Sep 3, 2016
@ljharb ljharb reopened this Sep 3, 2016
@dougwilson
Copy link

Neat just had a use-case to use this to install nightlies in order to test some changes made in order to support the tentative Node.js 8.

@DanielRamosAcosta
Copy link

DanielRamosAcosta commented Feb 17, 2017

Any updates on this? I want to test the new features in Node.js 8 too 😄

@factoidforrest
Copy link

Here's how you do it for now https://medium.com/@poenneby/with-nvm-installed-you-can-do-this-54585c77685c#.ld955be3j

NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly nvm install 8

@andrewjmead
Copy link

Thanks for that @light24bulbs. Only solution I found that worked.

@PeterDaveHello
Copy link
Collaborator

PeterDaveHello commented Apr 16, 2017

Guys I'm trying to add doc #1507 for the usage and just found this issue(I should found this earlier), feel free to give me suggestions :)

#1508 also adds the support for display nightly build properly in nvm, and try to give them their own color for identify.

@ljharb ljharb self-assigned this Apr 16, 2017
@lukechilds
Copy link
Contributor

If anyone's using zsh-nvm I just baked this functionality in. You can do nvm use|install nightly|rc.

% nvm install rc
Downloading and installing node v8.0.0-rc.1...
Downloading https://nodejs.org/download/rc//v8.0.0-rc.1/node-v8.0.0-rc.1-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v8.0.0-rc.1 (npm v5.0.0-beta.56)
rc -> v8.0.0-rc.1
Clearing mirror cache...
Done!

% node --version
v8.0.0-rc.1

@ljharb
Copy link
Member

ljharb commented May 29, 2017

@lukechilds that's really unfortunate, and makes me want to remove zsh-nvm from the readme. Nightlies simply should't be installed by nvm until nvm supports installing nightlies. especially since node 8 will likely be out before this very night is over, and this won't come up again for another year.

@lukechilds
Copy link
Contributor

@ljharb Oh, sorry, didn't realise you were so strongly against this. Personally I think this is quite a useful feature other than just for installing node 8. Sometimes if I find what I think is a bug/performance issue with V8 (the engine) it's helpful to just quickly pull down the latest nightly and see if the issue is still there.

But yeah, I hear what you're saying, this is the only feature in zsh-nvm that doesn't play 100% nicely with nvm. I'm running nvm ls-remote directly after so the results from the mirror don't stay cached when they do nvm ls locally. But I have noticed are some issues with how nvm interprets the versions.

I'm pretty busy with some other projects at the moment but once I'm free I'd be happy to put some time to get nightlies/rcs working in core. Until then I can add a disclaimer to that section on the readme warning that this is experimental and highlighting the potential issues it could cause.

@ljharb
Copy link
Member

ljharb commented May 30, 2017

@lukechilds It's a useful feature when supported natively in nvm, yes. However, it's worth noting that most people shouldn't ever install nightlies - and the people that can, don't need it to be particularly easy to do so - so it's not that pressing a use case.

The concern I have with zsh-nvm touching nightlies is specifically that anything people do with it will likely break, badly, when nvm eventually does support them.

@lukechilds
Copy link
Contributor

lukechilds commented May 30, 2017

I think it would be pretty simple to prevent breakage. How are you planning to handle nightly/rc versions? If you're gonna drop them all into $NVM_DIR/versions/node/ and just update the versioning logic then it should work exactly the same.

If you're planning on saving them somewhere else e.g $NVM_DIR/versions/nightly/ then I could write a simple cleanup/migration script targeting something like $NVM_DIR/versions/node/*nightly*.

@refack
Copy link
Contributor

refack commented Jul 4, 2017

@lukechilds It's a useful feature when supported natively in nvm, yes. However, it's worth noting that most people shouldn't ever install nightlies - and the people that can, don't need it to be particularly easy to do so - so it's not that pressing a use case.

@ljharb I need it easier 😄 when doing cross platform testing, nvm is the perfect tool!

@ljharb
Copy link
Member

ljharb commented Jul 4, 2017

@refack even if you count all v8 and chakra and spidermonkey and node core devs (which is the only group I believe that truly needs the feature), that's still a small group :-/ still a very important group tho, which is why it's on the roadmap :-)

@refack
Copy link
Contributor

refack commented Jul 4, 2017

@refack even if you count all v8 and chakra and spidermonkey and node core devs (which is the only group I believe that truly needs the feature), that's still a small group :-/ still a very important group tho, which is why it's on the roadmap :-)

I read the thread more carefully and found that NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly nvm install 9 works pretty well, so no rush ;)

@ljharb
Copy link
Member

ljharb commented Jul 5, 2017

As long as you're aware that it will definitely break in the future!

@factoidforrest
Copy link

factoidforrest commented Jul 5, 2017

I was starting a brand new project and wanted to build against Node 8 features. I didn't care about safety or stability because I knew node 8 would be done before my project was even 25%.

And you know what? It worked perfectly. I had no language bugs, and then soon, 8 was released. I switched over to the stable edition. This, I think, is a perfectly reasonable flow and demonstrates that you should allow users to do the things they want, for the most part, and trust them to do it. That is the very definition of "powerful software".

If you're worried about people using RCs on production just include a warning when installing saying "THIS IS ALPHA SOFTWARE, IF YOU HAVE AN ISSUE, PLEASE TRY REVERTING. DO NOT USE IN PROD." That's what a powerful software library would do.

Letting people easily try the RCs will increase the bug testing for node and speed up development through bug reporting and more thorough testing.

What do you mean it will break? That you're going to take out the ability to use alternative node mirrors?

@ljharb
Copy link
Member

ljharb commented Jul 5, 2017

@light24bulbs I do plan to add the ability to install RCs and nightlies; it's in my road map.

What I mean by "will break" is that if you hack around the mirror approach to install v9, before v9 is available, things will likely work in an unpredictable fashion once you update to an nvm that does support installing v9 nightlies/RCs.

Separately, I'm glad you had a great experience! That's not proof that it's a good approach though - it's simply proof that it can be.

I'm not interested in nvm, or in any software I make, being "powerful". I'm interested in it doing the thing it says it will do, well, and being as hard to use incorrectly as possible.

At any rate, people can already try the RCs - just not yet officially with nvm. I'm not standing here obstructing node development or usage - all I'm doing is saying "this thing you want to do with nvm does not yet work, and if you hack around it because you're impatient, things might break". That sounds exactly like what you're suggesting anyways.

@factoidforrest
Copy link

Ah ok, excuse me for misunderstanding. I missed that you said:

it's on the roadmap :-)

Those are great points. I think, when you do add the ability to install release candidates, mentioning these concerns when the user installs them could mitigate some of the issue.

NVM is hard to use incorrectly, so I thank you for that.

@refack
Copy link
Contributor

refack commented Jul 5, 2017

"this thing you want to do with nvm does not yet work, and if you hack around it because you're impatient, things might break"

How did you guess my life's motto 😕 (yes my life's motto is about mvn)
My previous motto was "If it ain't broke, it ain't got enough features yet 💪 "

@phillipwei
Copy link

Wondering what the state of this is? I'm not a core node.js developer, but I am using a lot of async/await and noticed that Node.js 12.x (on nightlies) has developing helpful new features for it (notably the --async-stack-traces feature).

@lautarodragan
Copy link

@phillipwei, came here for the exact same reason!

@ljharb

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature requests I want a new feature in nvm! installing node Issues with installing node/io.js versions.
Projects
None yet
Development

No branches or pull requests