modernator
modernator

Reputation: 4427

centOS can't install nodejs via yum

I was using node v0.10.x on my centOS server and I want to update node.js, so followed some articles. First removing currently installed:

# which node
# cd /usr
# rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1

and then check node -v is not working, good. But using yum doesn't install latest Node.js, so I searched some post and found this: https://www.metachris.com/2015/10/how-to-install-nodejs-5-on-centos-and-ubuntu/

so I followed commands:

# rpm -Uvh https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm
# yum install nodejs -y

and this is the problem. it prints numerous errors and keeps failing.

Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-4.el6 will be updated
--> Processing Dependency: nodejs(x86-64) = 0.10.42-4.el6 for package:     nodejs-devel-0.10.42-4.el6.x86_64
---> Package nodejs.x86_64 0:5.11.1-1nodesource.el7.centos will be an update
--> Running transaction check
---> Package nodejs-devel.x86_64 0:0.10.42-4.el6 will be updated
---> Package nodejs-devel.x86_64 0:5.11.1-1nodesource.el7.centos will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch      Version                          Repository     Size
================================================================================
Updating:
 nodejs          x86_64    5.11.1-1nodesource.el7.centos    nodesource    8.7 M
Updating for dependencies:
 nodejs-devel    x86_64    5.11.1-1nodesource.el7.centos    nodesource    7.6 M

Transaction Summary
================================================================================
Upgrade  1 Package (+1 Dependent package)

Total size: 16 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test


Transaction check error:
  file /usr/lib/node_modules/npm/node_modules/semver/package.json from install of nodejs-5.11.1-1nodesource.el7.centos.x86_64 conflicts with file from package nodejs-semver-2.1.0-1.el6.noarch
  file /usr/lib/node_modules/npm/node_modules/semver/bin/semver from     install of nodejs-5.11.1-1nodesource.el7.centos.x86_64 conflicts with file from package nodejs-semver-2.1.0-1.el6.noarch
  file /usr/lib/node_modules/npm/node_modules/semver/semver.js from install of nodejs-5.11.1-1nodesource.el7.centos.x86_64 conflicts with file from package nodejs-semver-2.1.0-1.el6.noarch
  ... and keeps going on ...

Also before remove node, I also did this:

# npm cache clean -f
# npm install -g n
# n stable

but this isn't working at all, because always saying version 0.10.x, even downloaded latest one! ( I sawed 6.2.2 or something )

I think something messed up on my server and I don't know how to fix this. Can anyone gimme some advice? Also If can, I want to install latest Node.js.

Upvotes: 10

Views: 31943

Answers (4)

alar
alar

Reputation: 53

I spent a while on this on a Fedora 35 workstation (upgraded from Fedora 34),

$ yum repolist
nodesource                  Node.js Packages for Fedora Linux 34 - x86_64

it gave me

$ node --version       v12.22.1 

None up the installers made a difference until I found this explanation:

How To Install Node.js on Fedora 36/35/34

The tutorial includes 3 methods. It's the third one that worked for me.

Install Node.js on Fedora via NVM

First, install the NVM tool on your system by running the following command:

$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash   

Then, reload the system environment using this command. It will set the required environment variables to use nvm on the system.

$ source ~/.bashrc 
$ nvm install v16.14 
Downloading and installing node v16.14.2...


$ node --version 
v16.14.2

Upvotes: 0

gatlanticus
gatlanticus

Reputation: 1226

The easiest way is to use nvm, the "Node Version Manager".

In a shell, do:

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

Note: If you want to understand the script before running it, read the docs on nvm github page and/or remove | bash from the curl command to read without running the .sh file

Close and re-open shell to use updated profile. Then:

//prints "nvm" if correctly installed
$ command -v nvm

// install latest version of node
$ nvm install node

//check it's installed correctly
$ node -v
v12.6.0

After failing with other methods, this one had no issues.

Upvotes: 10

First, you must install epe-release

sudo yum install epel-release

After, you can install node.js and npm

sudo yum -y install nodejs npm

Its worked for me.

Upvotes: 2

M. Haris Azfar
M. Haris Azfar

Reputation: 608

Install Node from the EPEL Repository

yum update
yum install epel-release
yum install nodejs
node --version

To access npm to manage their Node packages.

yum install npm

Upvotes: 20

Related Questions