公司的一个项目上线,需要用到Nodejs和npm环境,这里记录下安装过程,方便回看同时供大家参考。

1)yum安装方式(版本比较老点,v5.12.0 + 3.8.6)

需要在centos中添加epel和remi源

添加epel源(如果提前安装了其他的epel-release-7-11.noarch,则需要先卸载它,否则会和下面的冲突)
64位:
[root@node-test src]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
===========================================================================================
32位:
[root@node-test src]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
=========================================================================================== 导入key:
[root@node-test src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 添加remi源
[root@node-test src]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
[root@node-test src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi 安装完成后,执行
[root@node-test src]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
[root@node-test src]# yum -y install nodejs [root@node-test src]# node -v
v5.12.0 [root@node-test src]# npm -v
3.8.6 nodejs环境如上就已经部署好了,此时就可以执行*.js程序了。

2)tar包安装(制定版本安装,v8.1.0+5.0.3)

下载地址:https://nodejs.org/dist/
这里下载v8.1.0 [root@node-test src]# wget https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-x86.tar.gz
[root@node-test src]# tar -zvxf node-v8.1.0-linux-x86.tar.gz
[root@node-test src]# mv node-v8.1.0-linux-x86 /usr/local/node-v8.1.0
[root@node-test src]# ls /usr/local/node-v8.1.0
bin CHANGELOG.md include lib LICENSE README.md share 接着通过下面两个命令建立node和npm的软连接,在较高级版本的nodejs中自带了npm,所以这里不需要另行下载。
[root@node-test src]# ln -s /usr/local/node-v8.1.0/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
[root@node-test src]# ln -s /usr/local/node-v8.1.0/bin/node /usr/local/bin/node 上面操作类似于将node和npm添加进系统环境变量,但是在后期安装head插件过程中出现报错,问题是在Path路径中找不到指定文件
为此解决这个问题,直接再修改/etc/profile,添加node的目录到Path即可,具体见下面这个
[root@node-test src]# vim /etc/profile
......
export PATH=$PATH:/usr/local/node-v8.1.0/bin
[root@node-test src]# source /etc/profile 查看版本,检查是否安装成功
[root@node-test src]# node -v
v8.1.0
[root@node-test src]# npm -v
5.0.3 ====================可能出现的报错====================
报错1:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 因为64位系统中安装了32位程序。解决方法:
[root@node-test src]# yum install glibc.i686 报错2:
node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 解决办法:
[root@node-test src]# yum whatprovides libstdc++.so.6
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* epel: mirrors.yun-idc.com
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
libstdc++-4.4.7-23.el6.i686 : GNU Standard C++ Library
Repo : base
Matched from:
Other : libstdc++.so.6 然后执行
[root@node-test src]# yum install libstdc++-4.4.7-23.el6.i686 ==================解决npm install过慢问题==================
如果后期在使用npm install安装过程中出现了长时间停留在fetchMetadata sill 一直不动的现象,那应该是npm源出了问题。
这时候可以切换到国内的npm源来解决这个问题,执行下面两个命令即可(大概测试了下,速度提升了10-100倍之多)
[root@node-test src]# npm config set registry https://registry.npm.taobao.org
[root@node-test src]# npm config get registry

Centos下Nodejs+npm环境-部署记录的更多相关文章

  1. centos下nodejs,npm的安装和nodejs的升级

    安装: sudo yum install epel-release sudo yum install nodejs node -v yum install -y npm --enablerepo=ep ...

  2. Centos7下ELK+Redis日志分析平台的集群环境部署记录

    之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...

  3. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  4. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  5. # centos7下FFmpeg环境部署记录

    # centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...

  6. Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录

    一.   MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...

  7. MySQL高可用方案-PXC环境部署记录

    之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一.基于主从复制的高可用方案:双节点主从 + keepalived 一般来说, ...

  8. redis主从复制以及SSDB主主复制环境部署记录(四)

    redis配置主从和ssdb主主复制 参考:散尽浮华Linux下Redis主从复制以及SSDB主主复制环境部署记录 只做自己查阅. 环境要求:三台虚拟机一台做主,两台做从. 通过SSDB在redis做 ...

  9. kafka 基础知识梳理及集群环境部署记录

    一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...

随机推荐

  1. Javascript 高级程序设计--总结【一】

    文档模式 混杂模式 标准模式 js 数据类型 Undefined Null  看做是一种空对象的引用 Boolean Number String Object typeof 返回类型 "un ...

  2. 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制

    记录一下,方便以后复制粘贴 // 方法一: Object.prototype.clone = function() { var o = this.constructor === Array ? [] ...

  3. 使用 Array2XML把数组转成XML格式,有相同的节点

    最近开发一个项目,需要调用第三方的接口,第三方提供的数据是xml,我直接使用Array2XML把php数组转成XML格式. XML格式如: <root> <body> < ...

  4. python基础 - 元组操作

    元组 tuple 元组是不可变对象. 元组初始化 t = tuple() t = () t = tuple(range(1,7,2)) t = (1,2,3,4,5,1) t = (1,) t = ( ...

  5. map的使用注意事项

    map是无序的,每次打印出来的map都会不一样,它不能通过index获取,而必须通过key获取 map的长度是不固定的,也就是和slice一样,也是一种引用类型 内置的len函数同样适用于map,返回 ...

  6. SqlBulkCopy批量添加

    /// <summary> /// 添加数据 /// 注:DataTable列名必须和数据库列名一致 /// </summary> /// <returns>< ...

  7. IO流_PrintWriter(字符打印流)与PrintStream(字节打印流)

    PrintStream:  1.提供了打印方法可以对多种数据类型值进行打印,并保持数据的表示形式  2.它不抛IOException  3.构造函数接受三种类型的值:  字符串路径  File对象   ...

  8. jQuery的收尾

    一  后台管理布局增删改 二  常用事件 三  jQuery扩展 一  后台管理布局增删改(多种方法) <!DOCTYPE html> <!-- saved from url=(00 ...

  9. codechef Row and Column Operations 题解

    版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...

  10. openssl交叉编译记录

    本次任务是要完毕嵌入式Linux下对openssl程序的支持.     我的开发环境:ARM9开发板 和 嵌入式Linux操作系统.装有Linux系统(我的是ubuntu9.04)的PC机一台.串口和 ...