Meteor + NodeJS 0.12

I just tried this without luck either. It appears that so far, Meteor is still Node 0.10.36 dependent from the threads I’ve read. Although I am sure if you are enterprising and don’t mind hacking things, there is a way to get fibers, etc. to work but I don’t want to hack “unsupported” environments … Hopefully in the near future Node 0.12 will be supported fully …

Not so soon.

There are two main reasons we can’t use it.

1. Fibers dependency issue

Fibers still have no support for 0.12.x or IOJS. See: https://github.com/laverdet/node-fibers/issues/203
That’s due to some internal v8 change and how fibers work. Not sure, when it’ll get released.

2. Binary Packages

If any meteor package has binary dependencies (via npm modules), we need to build it for both linux, mac and windows separately. Node 0.10.x and 0.12.x are not ABI not compatible. Then, we need to build them again another time for 0.12.x as well.

I’m quite not sure, how MDG is going to address this issue.

So, that’s why we stuck on 0.10.x still.

2 Likes

Fibers support for 0.12 and iojs was released yesterday, for what that’s worth.

That’s a super good news.
@glasser any ideas on moving to 0.12.x or soon?
Or waiting for node 1.0 (iojs and node merged version)

If such a move requires significant work, then targeting the merged nodejs branch will be the most intelligent option. And I doubt it will be called node 1.0, though it might be. Could be node 3.0 or 4.0, since the project is adopting semver and iojs is currently at 2.x with 3.x being in the works.
The merged version will probably be based on V8 4.4; or higher, depending on the timeframe of when the merging is going to be completed.

EDIT: iojs 3.0 is at RC3 and based on V8 4.4, with lots of C++ API breakage. Once this release is out and has made its waves through the ecosystem and all the native addons have had a chance to update it would become relatively clear when and how Meteor could upgrade to iojs and the new and merged node release, which will be basically based on the latest iojs plus lots of merges from node 0.12.

2 Likes

Quick update for everyone interested:

iojs 3.0.0 is out. Just yesterday the iojs repo has been renamed to node and all future node releases will be based on that code base. Node 4.0 is in the works and will contain most of the code that was different in the old node 0.12.x from iojs. It might take until node 5.0 until every single thing is merged, but as it seems no later than that.

The relevance of this is that now it’s very clear that iojs/“new node” is the way to move forward and the whole community is united again and all the things that Meteor depends upon server-side will soon be updated to the latest node release and thus it’ll be possible to run Meteor on cutting edge releases of node, as well as on the node LTS releases that will soon start to come out that will be (even) more stable.

4 Likes

And in further news, nodejs 4.0 is out today, which represents the consolidation of iojs and nodejs.

Next, there will be a LTS version hopefully coming out next month, which would be a great version for Meteor to upgrade to (currently fibers is broken on 4.0.0).

EDIT: According to Ben, Fibers is not a problem https://github.com/meteor/meteor/issues/5124#issuecomment-141677580

4 Likes

I hope this happens sooner than later. I could even handle 1.2 being delayed to do so…

1 Like

I hope MDG starts releasing more frequent smaller releases instead of have fewer large ones :confused:

3 Likes

I think they’re doing quite a bit of QA around each release and so I doubt they can just like that begin shipping more frequent smaller releases. Maybe they’ll adjust their release process to something like alpha/beta/stable, like many other projects do, that might help. The CoreOS project may actually be a good example for this, or even Google Chrome, with their idea of “release channels” where builds get promoted based on stability/reported issues etc.

Meteor release channels would be great! In a way it is already supported by the Meteor build tool because you define a channel prefix in front of the release number, eg METEOR@1.2-rc.12, so we could have METEOR-ALPHA@112 or some other conversioning convention. The difficult part is managing these channel publications, but at least the client support is already there.

2 Likes

Node 4 supports much more of ES6, so Meteor should do a lot less transpilation.

But if fibers don’t work, I guess Node 4 is a no-go for Meteor 1.2.

On schedule!

Node Current Version: v4.2.1 Long Term Support Release

https://nodejs.org/en/

Projects like Selenium Webdriver are announcing no further support for v0.12.x.

2 Likes

FYI, no official support on Ubuntu 15.10 for versions of node older than 4.2.x

https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions.

2 Likes

npm WARN packages wanted higher versions of node are growing ++.

Been a while, can we now atleast get to 0.12 if not LTS ?

2 Likes

Still no luck with this?

I built a meteor app using meteor build and just started using it with 0.12 and it worked without any issues. So i think thats the best way to go about it for now.

Can upgrading Meteor for Node’s v4 LTS release (at the minimum) be done rather soon? It seems everything is in place for this as fibers support is there once more.

I write this as a module maintainer of several npm packages that it seems either meteor uses, or users of meteor commonly use. It is quite annoying having to maintain compatability for node 0.10. Thank you.

If there is a specific todo, or team around this, I’d be happy to self actualise some change here.

3 Likes

In the wind of 1.3, there has been no update. But I think/hope this will be tackled next, along the start to separate meteor core packages into individual npm-centered repos.

1 Like