ubuntu下装nodejs的问题

sudo add-apt-repository ppa:chris-lea/node.js装了新的nodejs,可以进入nodejs环境,输入console.log也可以打印出,但是输入node -v却没有任何反应
于是我用下载node的源码去编译,python2.7.6;还是装不成功,请问有哪些需要注意的嘛?

图片描述

阅读 6.2k
7 个回答

按照你这个截图看,是在安装node的时候,安装位置为/usr/local/bin/node,但这个位置是需要root权限的,而截图上提示的错误就是你的权限不够,node没有安装成功。如果你用源码编译安装,记得最后安装时加sudo执行。而且你在执行nodejs的时候,截图也提示你了,你的nodejs没有安装,但你可以使用sudo apt-get install nodejs这个命令来安装,这是因为你之前添加了ppa才可以这样安装。

另外,我想补充的是,你所用的ppa的方法,已经是很旧的了,即使安装成功也是很老版本的,这个ppa已经很久不更新了,现在ubuntu软件仓库就已经有node了,所以你可以先用sudo apt-add-repository -r ppa:chris-lea/node.js-devel删除这个ppa,然后安装仓库里的node:

sudo apt-get install nodejs

如果你发现仓库里的nodejs版本不够高,可以更新一下仓库和软件版本:

sudo apt-get update
sudo apt-get upgrade

你也可以用源代码编译安装node,也很简单,下载node的源代码包,解压,进入目录执行:

./configure && make && sudo make install

补充:
为什么执行node -v没有输出?

ubuntu的仓库里面,已经存在一个叫node的软件包了,可以执行aptitude search node`查看,这是一个先于nodejs存在的软件名,已经被用了,所以ubuntu只能把用于js开发的这个node改名叫nodejs,如果系统已经安装此软件,执行node -v并非nodejs的node,它跟nodejs一点关系也没有,它的-v参数是不显示任何东西的。

node 还是 nodejs ?

apt-get install nodejs方法安装的,或是ppa方法安装的,命令都应该叫 nodejs,应该使用nodejs -v来测试。不过如果使用源代码的方式编译安装的(默认安装到/usr/local/bin,除非指定prefix参数),也叫node,这个node是真正的nodejs的node,所以为了避免与ubuntu仓库中的node引起混淆,建议安装后,把node改名为nodejs

ubuntu下的node是另外一个东西,这个要注意下

windows下是node -v;ubuntu下是nodejs -v

这个我也遇到过,不过是碰巧找到“解决方案”的
安装一下nodejs-legacy就可以了,ubuntu我也不是很熟,也不知道这是什么原因

用我这个方法吧,这样安装是最新的。
其实只要下载其二进制包就好了,只需要用命令生成二个软链接就好,就相当于windows下的环境变量设置,具体请看:
http://segmentfault.com/a/1190000000584731

这几天为了装hexo也是在寻找nodejs安装方法,用hexo官网推荐的nvm安装的nodejs有点问题,所以我找到了AskUbuntu这篇文章,里面有个答案(不是最高票那个)使用nodesource的(文档说明见此)ppa来安装,很简单的两条命令就解决了,然后就是这个样子了:(~ ̄▽ ̄)~
图片描述

推荐问题
宣传栏