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.
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.
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.
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.
nodejs-legacy installs that symlink for you and conflicts with ax25-node
package which installs a binary with the same name...
package which installs a binary with the same name...
댓글 없음:
댓글 쓰기