Why do I need nodejs-legacy to use Tern, JSHint, JSLint.

97 views
Skip to first unread message

Brady Trainor

unread,
Nov 28, 2014, 1:46:50 PM11/28/14
to nod...@googlegroups.com

Hi, I'm trying to learn JavaScript fast.

I had some trouble today trying to get Tern, JSLint and JSHint setup.

With some help on an IRC, we discovered I installed a node utility which was not related to nodejs.

This is like a bug, as, if I install nodejs, and try to execute 'node', it tells me it is missing, and to install blah (assume I didn't read it carefully).

So I install node utility. And things don't work. I can execute nodejs command. But those apps Tern etc. won't work.

The solution is to remove node package, and install nodejs-legacy.

Should the maintainers of these projects be made aware of this issue? Does legacy mean the node command is being phased out? I believe their packages look for node command.

Maybe the majority of users are on OS X, and so this troubleshooting issue in't included in documentation, blogs etc.


--
Brady

Ryan Schmidt

unread,
Nov 29, 2014, 1:36:15 AM11/29/14
to nod...@googlegroups.com
Your feedback should be directed to the maintainers of the packages you are installing. It is they who have decided to rename the "node" binary, and to provide the nodejs-legacy package to give it to you under the expected "node" name.

My understanding is that as far as the Node developers are concerned, the name of the Node binary is "node" and this will not be changing. If other unrelated software packages exist which also provide a binary called "node", the Node developers do not consider that to be their problem.

Alex Kocharin

unread,
Nov 29, 2014, 1:37:54 AM11/29/14
to nod...@googlegroups.com
 
The binary file for node.js project is called "node", and all scripts use that. This is not an issue in jslint/jshint, etc.
 
But debian/ubuntu/etc. distributions used to have their own executable named "node", so they renamed node.js binary to "nodejs" thereby causing this issue. 
 
I think the majority of users are on linux here, but we're using version from nodejs.org which is named correctly.
 
Imho, just use "nodejs-legacy" package if it works for you. Its name is misleading: it is just a symlink, there is no "legacy" in it.
 
 
28.11.2014, 21:46, "Brady Trainor" <alge...@uw.edu>:

--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
To post to this group, send email to nod...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/87k32fspj9.fsf%40uw.edu.
For more options, visit https://groups.google.com/d/optout.

Christopher Rust

unread,
Nov 29, 2014, 11:18:08 AM11/29/14
to nod...@googlegroups.com
On debian, I've run the following command to symlink `node` to the repo-installed `nodejs`:

sudo ln -s /usr/bin/nodejs /usr/bin/node

This will allow you to use the distribution's version of node while keeping compatibility with the other applications you've mentioned.

Jérémy Lal

unread,
Nov 29, 2014, 1:49:21 PM11/29/14
to nod...@googlegroups.com
nodejs-legacy installs that symlink for you and conflicts with ax25-node
package which installs a binary with the same name...
> > <https://groups.google.com/d/msgid/nodejs/4139701417201528%40web21h.yandex.ru?utm_medium=email&utm_source=footer>
> > .
Reply all
Reply to author
Forward
0 new messages