我已经在Ubuntu上使用以下代码安装了nodeJS

sudo apt-get install nodejs


由于我是ubuntu的新用户,我也同样运行了此代码

sudo apt-get install npm


现在,当我键入

 nodejs --version


它显示

v0.6.19


我检查并看到最新的nodeJS版本是0.10.26

我如何将我的nodeJS版本更新为0.10.26

我尝试了

 sudo apt-get install <packagename>
 sudo apt-get install --only-upgrade <packagename>


,但没有运气。

评论

最好使用nvm安装nodejs。它代表“节点版本管理器”。您可以非常轻松地安装多个版本的nodejs,在它们之间切换并设置默认值。

#1 楼

使用npm中的n个模块来升级节点
sudo npm cache clean -f
sudo npm install -g n
sudo n stable

要升级到最新版本(而不是当前稳定的版本),可以使用
sudo n latest



修复路径:
  sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node



要撤消:
  sudo n rm 6.0.0     # replace number with version of Node that was installed
  sudo npm uninstall -g n



您可能需要重新启动终端以请参阅更新的节点版本。
在David Walsh博客中找到

评论


我强烈建议不要在生产实例上执行此操作。它会严重破坏您的全局npm软件包和您安装新软件包的能力。

–懒人
15年2月19日在22:30

我尝试过...现在,当我运行节点时,出现此错误bash:/ usr / bin / node:没有这样的文件或目录,我该怎么办?

–耶尔科·帕尔玛(Yerko Palma)
2015年10月11日,0:44

但仍然是nodejs --version母猪0.10.25

– Mansuu ....
16年12月29日在19:30

David Walsh说,改用NVM

–Ads20000
17年1月12日在12:15



无法正常工作-按照步骤操作后,节点-v仍然给了我6版本,而不是10版本。

–TomášZato-恢复莫妮卡
18年6月8日在13:17

#2 楼

此后,Nodesource已在此处上传了完整的安装说明。它被复制在下面供您参考。有关更新至最新版本的说明相同。
如果您不喜欢curl ... | sudo bash -,则可以按照手册中的说明进行操作,该手册将告诉您如何自己将Node.js存储库添加到/etc/apt/sources.list.d/
注意:如果您使用的是Ubuntu Precise或Debian Wheezy,则可能需要阅读有关在较旧发行版上运行Node.js> = 6.x的信息。
Node.js v13.x:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_13.x | bash -
apt-get install -y nodejs

Node .js v12.x:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

Node.js v11.x:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

Node.js v10.x:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Node.js v9.x:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs

Node.js v8.x:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs

Node.js v7.x:
注意:Debian Wheezy和Ubuntu Precise软件包不是此版本可用。请参考在较旧的发行版上运行Node.js> = 4.x
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs

Node.js v6.x:
注意:如果您使用的是Ubuntu Precise或Debian Wheezy,则可能需要了解有关在较旧发行版上运行Node.js> = 4.x的信息。
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs

Node.js v5.x:
注意:如果您使用的是Ubuntu Precise或Debian Wheezy,则可能需要阅读有关在较旧发行版上运行Node.js> = 4.x的信息。
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs

Node.js v4.x:
注意:如果您使用的是Ubuntu Precise或Debian Wheezy,则可能想阅读有关在较旧发行版上运行Node.js> = 4.x的信息。
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs

Node.js v0.12:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs

Node.js v0.10:
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.10 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.10 | bash -
apt-get install -y nodejs

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_3.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_3.x | bash -
apt-get install -y iojs

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_2.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_2.x | bash -
apt-get install -y iojs

注意:io.js的此分支未得到积极维护,不建议用于生产环境。
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_1.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_1.x | bash -
apt-get install -y iojs


评论


对我来说,节点--version仍然说“ 0.12.0”。我必须使用rm / usr / local / bin / node,然后才能使用新安装的nodejs版本。

–克里斯·克拉克(Chris Clark)
16年7月17日在16:21

这是安装说明而非升级说明。安装意味着它从未安装过。如果您已经安装了该问题所暗示的版本,那么如果安装其他版本会发生什么呢?您是否遇到版本冲突?安装会删除旧的吗?

–icc97
19年1月23日在11:13

对于像我这样的所有困惑白痴,运行安装程序似乎将有效替代您以前拥有的设备。因此,我认为您可以通过此过程执行升级或降级。我从v8升级到v10,并在安装日志中发现以下消息:在(8.12.0-1nodesource1)上解压缩nodejs(10.15.0-1nodesource1)...,在安装后愉快地显示v10.15.0的情况下运行node -v是我想要的

–icc97
19年1月23日在11:19



卷曲{任何东西} | sudo bash-一种可怕的安全做法

–krubo
19年6月26日在11:26

@krubo我同意。用户应在运行脚本之前检查脚本。但是,它来自信誉良好的来源(nodesource.com),并且连接由HTTPS保护,因此可以在这些脚本中给予足够的信任。但是是的,通常,在将其通过管道传输到sudo bash之前,请先检查脚本

– dayuloli
19年6月26日在19:18

#3 楼

我还建议改用nvm,并删除已安装的版本,以避免终端中发生冲突。

>视频说明

sudo apt purge nodejs npm


要下载并安装nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash


应下载并安装最新版本的节点。

要稍后更新节点,只需执行

nvm install node


评论


这应该是唯一被接受的答案-如果您想在Ubuntu中拥有健全而最新的Node设置。

–何塞·帕蒂尼奥(JoséL.Patiño)
18年8月20日在13:35

这对我来说也是最好的(在我们的EC2上有相当古老的nodejs并尝试了很多建议,只有这个建议才起作用)。同样100%同意以上评论!

–山豆
19年6月12日在5:26

nvm将按用户安装Node.js。使用nvm不会给您提供系统范围内的node命令。因此,我建议不要删除全局/系统节点,以便以其他用户身份运行的脚本仍可以运行节点。

– d4nyll
19年7月25日在21:42

@ d4nyll很好的说明,但是它主要应用于多用户系统。

– Gryu
4月2日下午14:17

尽管nvm可能非常方便,但是要小心,它会大大增加bash启动时间。

–user12164
6月28日14:54

#4 楼


该PPA已过时,不再维护;您应该考虑其他答案,而不是这个答案。


您可以从PPA安装最新版本:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs


评论


我认为,如果您(也)提供了一种非ppa的方式,这将是一个更好的答案,众所周知,ppas变得过时且无法维护,从而使答案无用。

– pzkpfw
14年2月27日在16:21

@ bigbadonk420是的,如果您只是用谷歌搜索,可能最好跳过第一行,并使用节点0.10.34为我进行更新和安装

– Capaj
2014-12-22 11:46



@Capaj不。那没有帮助...

–降压
2014年12月24日,0:47

不建议再使用此ppa,因为它似乎已经过时了。

– Kzqai
2015年12月2日,12:12

#5 楼

我使用NVM处理我的Node版本。设置非常简单,易于使用。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm


要改为全局安装NVM,请使用以下curl命令而不是上面的命令(并且大概不使用第二个命令,但请使用第三个命令)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | NVM_DIR=/usr/local/nvm bash


然后使用nvm install stable(或插入版本号代替stable)来获取最新/特定版本的Node。使用nvm use stable(或特定的版本号)来使用该Node版本。使用nvm ls查看已安装的节点版本,并使用nvm uninstall stable(或特定版本号)删除特定版本的Node。

资料来源:
安装,用法

评论


虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。

–沃伦·希尔
2014年3月31日14:30



抱歉,我很笨。更新的答案

– amnah
2014年3月31日下午16:27

给定的卷曲路径不起作用。我使用了github.com/creationix/nvm中给出的“ curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash”

– Senthil
2014年8月18日,下午3:35

不要忘记将url部分更新为nvm的最新版本

– Nidhin David
16-10-21在6:59

#6 楼

带有--lts的NVM(节点版本管理器)

在以下位置提到了NVM:https://askubuntu.com/a/441527/52975,但是这里有一个更完整的用法示例,包括理智的--lts版本,安装最新的Node的长期支持版本,如果您没有更具体的要求,则可能需要该版本。
安装NVM和最新的Node LTS版本:
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

现在使用虚拟程序包对其进行测试:
npm install --global vaca
vaca

由于必须对每个新shell进行采购,因此安装脚本黑客将在.barshrc的末尾添加一些自动采购。那行得通,但是我更喜欢删除自动添加的一个并添加自己的:
f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi



允许使用多个版本的Node和没有sudo


与Ruby RVM和Python Virtualenv类似,在Ruby和Python社区中被广泛认为是最佳实践


下载预编译的二进制文件在可能的情况下,如果没有的话,它会下载源代码并为您编译一个源代码


我们可以使用以下命令轻松切换节点版本:
nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

然后可以使用git跟踪的.nvmrc文件以指示给定项目所需的节点版本:https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for-a-project/ 54503474#54503474
使用此设置,您可以得到:
which node

/home/ciro/.nvm/versions/node/v0.9.0/bin/node

和:
which vaca
/home/ciro/.nvm/versions/node/v0.9.0/bin/vaca

,如果我们要使用全局安装的模块:
npm link vaca
node -e 'console.log(require.resolve("vaca"))'

/home/ciro/.nvm/versions/node/v0.9.0/lib/node_modules/vaca/index.js


https://stackoverflow.com/questions/15636367/nodejs-require-a-global-module-package
https://stackoverflow.com/questions/7970793/how-do-i-import-global-modules -in-node-i-get-error-notfind-module-module

,因此我们看到所有内容都完全包含在特定的节点版本中。
在Ubuntu 17.10中进行了测试。

评论


它为我工作

–母系
9月18日下午3:59

#7 楼

我在ubuntu 14.04上尝试了相同的list命令,但是仍然抛出错误。

我执行的命令是:
我得到的错误是:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs


我发现我的操作系统上未安装curl工具。我执行命令:重复了答案中建议的步骤,它就起作用了;)

#8 楼

这将从nodesource安装最新的节点v0.12。*。

sudo apt-get install -y curl
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs


对于节点v4.x

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs


评论


您是从头开始安装节点吗?问题是关于更新而不是安装

–绿色
17年2月24日在5:56

#9 楼

如果使用n不起作用,则可以运行以下命令安装最新版本的nodejs(即版本8):

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs


此处有更多说明。

#10 楼

使用nvm是首选方法。首先安装nvm:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash


然后安装nodejs:

nvm install node


现在,您可以轻松切换版本节点。

#11 楼

我建议您首先删除所有nodejs安装
,然后在使用所需的nodejs版本及其安装父目录进行编辑后执行以下脚本
查看所有可用的nodejs版本
https://nodejs.org / dist /
以下脚本将允许您在Linux或OSX上安装任何这些nodejs版本。
#!/bin/bash

#     usage :
#
#     edit two vars in below :  NODE_VER  and  CODE_PARENT_DIR
#
# ... execute this script as yourself unless you choose a root-owned value for var CODE_PARENT_DIR
#     whichever id you execute this as determines the id you will issue npm commands as:  npm install -g foo-bar
#
#     NOTE - nodejs comes bundled with npm ... so no need to do separate npm install
#            This script runs fine on Linux or OSX

# ...  copy all the lines starting here  .. top of copy  ....   and ending ... end of copy  ...
#      and paste into your ~/.bashrc file so proper env vars get set 

# ............... top of copy  ........................  install_node.sh

# export NODE_VER=v7.2.0  # see available versions at https://nodejs.org/dist/
# export NODE_VER=v8.5.0  # edit this line next time you need to update nodejs  
export NODE_VER=v9.3.0  # edit this line next time you need to update nodejs

# ...  pick parent dir of nodejs install  ... comment out or remove ONE of below
# export CODE_PARENT_DIR=/opt/code  # root-owned dir ... requires you to sudo prior to npm install going forward
export CODE_PARENT_DIR=${HOME}    # RECOMMENDED executing as yourself including npm install

# ......... following env vars are OK no edits needed ... only ever need to edit above vars

curr_OS=$( uname )

echo curr_OS $curr_OS

if [[ "${curr_OS}" == "Darwin" ]]; then

    OS_ARCH=darwin-x64

elif [[ "${curr_OS}" == "Linux" ]]; then

    OS_ARCH=linux-x64
else
    echo "ERROR - failed to recognize OS $curr_OS"
    exit 5
fi

if [[ -z ${CODE_PARENT_DIR} ]]; then

    echo "ERROR - failed to see env var CODE_PARENT_DIR"
    exit 5
fi

export NODE_CODEDIR=${CODE_PARENT_DIR}/nodejs
export COMSUFFIX=tar.gz
export NODE_NAME=node-${NODE_VER}
export NODE_PARENT=${NODE_CODEDIR}/${NODE_NAME}-${OS_ARCH} 

export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules

# ............... end of copy  ........................  install_node.sh

# copy and paste above from ... top of copy ... to here into your file ~/.bashrc   

echo
echo "NODE_CODEDIR $NODE_CODEDIR<--"
echo

echo "mkdir -p ${NODE_CODEDIR}"
echo
      mkdir -p ${NODE_CODEDIR}
echo

echo "cd ${NODE_CODEDIR}"
      cd ${NODE_CODEDIR}
echo

# this is compiled code NOT source

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

echo "wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

echo "tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

# ...........  done ........... #

which node

node --version

# ....  bottom of file   install_node.sh


#12 楼

如果您在代理后面,则在运行“ sudo n stable”时可能会出现此错误:

Error: invalid version


您必须像这样设置env变量:

export HTTP_PROXY=http://your-proxy-url:port
export HTTPS_PROXY=http://your-proxy-url:port


,然后运行将这些变量传递给root用户的命令:

sudo -E n stable


评论


学分到:github.com/tj/n/issues/430

–luandrea
18年6月8日在13:50

#13 楼

选择的答案对我不起作用,我尝试重新启动终端机和PC,但未成功。
我已经安装了npm和节点(带有文档版本管理器)(如文档中所建议)。在这种情况下,可以使用
nvm install stable

来简单地更新节点和npm。我在这里说明了如果您已使用Node installer安装了npm / node,则如何切换为使用node-verion-manager重新安装。

#14 楼

我如上所述尝试通过nvm安装,但是在Ubuntu 18.04中遇到了一些错误。然后我经历了以下过程:
sudo apt purge nodejs npm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

nvm install node

运行此命令后,您可能会遇到此错误:
Command 'nvm' not found, did you mean:

在这种情况下,您可以运行以下命令:
或者您可以将其放入/.bashrc~/.profile文件中以自动加载。
之后,您可以运行以下命令:
source ~/.nvm/nvm.sh