node.js - ubuntu下装nodejs的问题
黄舟
黄舟 2017-04-17 12:05:08
[Node.js讨论组]

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(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我也不是很熟,也不知道这是什么原因

巴扎黑

请用https://deb.nodesource.com/
ppa:chris-lea/node.js已经不维护了.

PHP中文网

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

巴扎黑

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号