【问题标题】:upgrade nodejs to stable version升级nodejs到稳定版
【发布时间】:2016-08-25 19:55:03
【问题描述】:

我正在尝试使用 npm 更新 nodejs 版本。

安装nodejs:

sudo yum install nodejs npm --enablerepo=epel

检查版本

[root@*********** ec2-user]# node -v
v0.10.46
[root@*********** ec2-user]# npm -v
1.3.6

安装 n 并更新 nodejs:

[root@ip************#] sudo npm install -g n

npm http GET https://registry.npmjs.org/n
npm http 200 https://registry.npmjs.org/n
npm http GET https://registry.npmjs.org/n/-/n-2.1.4.tgz
npm http 200 https://registry.npmjs.org/n/-/n-2.1.4.tgz
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
npm WARN unmet dependency /usr/lib/node_modules/block-stream requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream-ignore requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream-npm requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/glob requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/npmconf requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/tar requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
n@2.1.4 /usr/lib/node_modules/n



 [root@i*************# n stable

     install : node-v6.4.0
       mkdir : /usr/local/n/versions/node/6.4.0
       fetch : https://nodejs.org/dist/v6.4.0/node-v6.4.0-linux-x64.tar.gz
######################################################################## 100.0%
   installed : v0.10.46

检查版本:

[root@*********** ec2-user]# node -v
v0.10.46
[root@*********** ec2-user]# npm -v
1.3.6

[root@*********** ec2-user]#/usr/local/bin/node -v
v6.4.0
[root@*********** ec2-user]# /usr/local/bin/npm -v
3.10.3

当我从 root 用户执行哪个节点和哪个 npm 时:

[root@ip-********]# which node
/usr/bin/node
[root@************]# which npm
/usr/bin/npm

如果我以 ec2-user 而不是 root 身份登录,它会正确显示最新版本:

[ec2-user@ip************** ~]$ node -v
v6.4.0
[ec2-user@ip************** ~]$ npm -v
3.10.3
[ec2-user@ip************** ~]$ which node
/usr/local/bin/node
[ec2-user@ip************** ~]$ which npm
/usr/local/bin/npm

谁能帮我解决这个问题。

【问题讨论】:

  • which node, which npm
  • 请找到更新后的问题

标签: node.js npm n


【解决方案1】:

这有点骇人听闻,但您可以通过创建符号链接来解决它

mv /usr/bin/node /usr/bin/bnode ln -s /usr/local/bin/node /usr/bin/node mv /usr/bin/npm /usr/bin/bnpm ln -s /usr/local/bin/npm /usr/bin/npm

【讨论】:

  • 嗨,汤姆,感谢您的回答。它解决了这个问题。你为什么它不能感染最新版本?当我从 root 用户执行 node -v 并且当我从 ec2-user 执行 node -v 时完美运行。
  • 我不知道为什么,但您似乎安装了两个不同版本的 node 和 npm。如果你想运行多个版本的 node 和 npm,你可以安装 nvm (github.com/creationix/nvm)。
  • 这很奇怪,因为我没有安装两个不同版本的 node 和 npm。我使用 'yum install nodejs npm' 安装,然后通过提供 'npm install -g n' 和 'n stable' 进行更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
  • 2017-12-01
  • 2012-03-22
  • 1970-01-01
  • 2015-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多