You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Packages that currently do not work with Node.js v4.0 [List] #2798
@bgSosh grep? For example: grep -R --include=package.json '"nan"\s*:' searches for nan mentions in package.json files.
find . -name nan -type d -exec grep version -H "{}/package.json" \; finds nan directories and gets the version from the corresponding package.json, but that generally doesn't tell you why was that version installed.
I can share the experience that migration to NAN 2.x requires lots of changes if you create lots of objects and set properties. And your code verbosity increases a lot as well as you need to add .ToLocalChecked() to every string. Changeset from fast-feed: rla/fast-feed@e7e2d31
Just a heads up, if you are fixing for the bound problem. You need to also take into account the fact that function names can now be things like get fn and set fn. You'll want to split on spaces and grab the last element most likely. That is how we'll be fixing it within node-newrelic
So @esco pointed out that v8 doesn't do the prepended get or set yet so the remove bound solution would work totally fine with node 4.0. We're still going to fix using the break on spaces method though due to the spec stating that getters/setters should have spaces in their name too. This way we are future proofed against the next change to Function.name:
Every built-in Function object, including constructors, that is not identified as an anonymous function has a name property whose value is a String. Unless otherwise specified, this value is the name that is given to the function in this specification. For functions that are specified as properties of objects, the name value is the property name string used to access the function. Functions that are specified as get or set accessor functions of built-in properties have "get " or "set " prepended to the property name string. The value of the name property is explicitly specified for each built-in functions whose property key is a Symbol value.
node-sass fully supports node 4.x since 3.2.0, and 3.3.3 is the current version on npm and GitHub.
Unfortunately, many packages using node-sass it fix older versions in their package.json
node-sass and node-gyp seem incompatible on my end:
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/jsir/Sites/DaoCloud/node_modules/grunt-sass/node_modules/node-sass
gyp ERR! node -v v4.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
Build failed
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.2.2
npm ERR! npm v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! node-sass@0.9.3 install: `node build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@0.9.3 install script 'node build.js'.
npm ERR! This is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node build.js
npm ERR! You can get their info via:
npm ERR! npm owner ls node-sass
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/jsir/Sites/DaoCloud/npm-debug.log
You're trying to install node-sass@0.9.x which is a couple years old. Node
4 support landed 3.3.x.
On 21 Nov 2015 11:19 am, "James M Snell" notifications@github.com wrote:
I think the original meaning of this bug is to catch native extensions that didn't upgrade to the (significantly changed) node 4.0 APIs. Not sure how many of them are left to be upgraded (my guess is that probably not so many, but that's just a guess).
Activity
EwanValentine commentedon Sep 10, 2015
engine.io fails, throws errors when you try to run your application.
Unexpected )xzyfer commentedon Sep 10, 2015
I ran into issues with https://www.npmjs.com/package/contextify earlier today
saper commentedon Sep 10, 2015
@xzyfer there is brianmcd/contextify#181 waiting to be tested :)
ChALkeR commentedon Sep 10, 2015
Directly affected by old nan dependencies:
These packages depend on nan version between 2.0.0 and 2.0.7, which is also not nice:
That's actually 75% of
nan-dependant packages, btw.vielmetti commentedon Sep 10, 2015
Is there a guide or docs written about porting to the new
nan?vielmetti commentedon Sep 10, 2015
For reference, here's a
nanport fornode-expat, which someone who is trying to undertake this task for a different package might find useful.julianduque/node-expat@c129cb3
vielmetti commentedon Sep 10, 2015
And here's a script from @rvagg that helps automate the changes for the new
nan.nodejs/nan#376 (comment)
vielmetti commentedon Sep 10, 2015
Further, some hoped for documentation for the
nanupgrade from that project: nodejs/nan#402calvinmetcalf commentedon Sep 10, 2015
so from what I can tell, the secret sauce for getting it to pass on travis is setting
in your
.travis.yml,not sure why ...due to travis having a really old version of g++bnoordhuis commentedon Sep 10, 2015
@calvinmetcalf It's because the default g++ on travis is too old to understand C++11. If you depend on g++ 4.8 or newer, it should work too.
calvinmetcalf commentedon Sep 10, 2015
@bnoordhuis thanks
srlowe commentedon Sep 11, 2015
Is there an easy way of scanning installed packages for old versions of
nan?ChALkeR commentedon Sep 11, 2015
@bgSosh
grep? For example:grep -R --include=package.json '"nan"\s*:'searches fornanmentions inpackage.jsonfiles.find . -name nan -type d -exec grep version -H "{}/package.json" \;findsnandirectories and gets the version from the correspondingpackage.json, but that generally doesn't tell you why was that version installed.rla commentedon Sep 11, 2015
I can share the experience that migration to NAN 2.x requires lots of changes if you create lots of objects and set properties. And your code verbosity increases a lot as well as you need to add .ToLocalChecked() to every string. Changeset from fast-feed: rla/fast-feed@e7e2d31
13 remaining items
wraithan commentedon Sep 14, 2015
Just a heads up, if you are fixing for the
boundproblem. You need to also take into account the fact that function names can now be things likeget fnandset fn. You'll want to split on spaces and grab the last element most likely. That is how we'll be fixing it within node-newrelicwraithan commentedon Sep 15, 2015
So @esco pointed out that v8 doesn't do the prepended
getorsetyet so the removeboundsolution would work totally fine with node 4.0. We're still going to fix using the break on spaces method though due to the spec stating that getters/setters should have spaces in their name too. This way we are future proofed against the next change toFunction.name:http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-standard-built-in-objects
Relevant paragraph:
pandres95 commentedon Sep 21, 2015
lwip: 0.0.7mikermcneil commentedon Sep 22, 2015
node@4.1.0 + socket.io@1.3.7 upgrade fixes all known issues in Sails
Master244 commentedon Sep 24, 2015
Error on ubuntu 14.04 couldn't figure out if this was supported yet or not. Trying to do this in a dockerfile with an Ember project.
dockerfile:
FROM ubuntu:14.04
MAINTAINER Mitchell
RUN sudo apt-get update
RUN sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev -y
RUN sudo apt-get install software-properties-common -y
RUN sudo apt-get install python-software-properties -y
RUN sudo add-apt-repository ppa:fkrull/deadsnakes
RUN sudo apt-get update
RUN sudo apt-get install python2.7 -y
RUN sudo apt-get install curl -y
RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
RUN sudo apt-get install nodejs -y
RUN sudo apt-get install build-essential -y
ADD package.json package.json
RUN npm install
RUN mkdir /src/
ADD . /src/
WORKDIR /src/
RUN npm install -g bower
RUN npm install -g ember-cli
RUN bower install --allow-root
RUN npm rebuild node-sass
RUN ember serve
EXPOSE 4200
Step 21 : RUN npm rebuild node-sass
---> Running in 05c1efe63790
node-sass@3.2.0 install /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass
node scripts/install.js
Cannot download "https://github.com/sass/node-sass/releases/download/v3.2.0/linux-x64-46_binding.node": HTTP error 404 Not Found
node-sass@3.2.0 postinstall /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass
node scripts/build.js
Building: /usr/bin/nodejs node_modules/pangyp/bin/node-gyp rebuild --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp: /root/.node-gyp/4.1.1/common.gypi not found (cwd: /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass) while reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass/node_modules/pangyp/lib/configure.js:345:16)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.0.9-boot2docker
gyp ERR! command "/usr/bin/nodejs" "/src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass/node_modules/pangyp/bin/node-gyp" "rebuild" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass
gyp ERR! node -v v4.1.1
gyp ERR! pangyp -v v2.3.0
gyp ERR! not ok
Build failed
saper commentedon Sep 24, 2015
I have answered ^^ in sass/node-sass#1122 (comment)
node-sass fully supports node 4.x since 3.2.0, and 3.3.3 is the current version on npm and GitHub.
Unfortunately, many packages using node-sass it fix older versions in their package.json
abd3 commentedon Oct 18, 2015
See here: http://stackoverflow.com/questions/17967546/common-gypi-not-found-error-in-node-js
rm -rf ~/.node_gyp
cd myAwesomeProject
npm install
npm rebuild
jserrao commentedon Nov 20, 2015
node-sass and node-gyp seem incompatible on my end:
jasnell commentedon Nov 21, 2015
@thealphanerd ... fyi (for citgm)
xzyfer commentedon Nov 21, 2015
You're trying to install node-sass@0.9.x which is a couple years old. Node
4 support landed 3.3.x.
On 21 Nov 2015 11:19 am, "James M Snell" notifications@github.com wrote:
Fishrock123 commentedon Jan 7, 2016
Closing, we are already well into v5.
atticoos commentedon Jan 7, 2016
I think a lot of people may stay on v4 as it's been chosen for LTS - should this remain open?
saper commentedon Jan 7, 2016
I think the original meaning of this bug is to catch native extensions that didn't upgrade to the (significantly changed) node 4.0 APIs. Not sure how many of them are left to be upgraded (my guess is that probably not so many, but that's just a guess).
Fishrock123 commentedon Jan 7, 2016
You can still link to it. Perhaps it may be better to link this from one of the Wiki pages.
However, there isn't anything actionable here for us anymore so I'd like to trim down our open issues. :)