公司的一个项目上线,需要用到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. python基础知识回顾之字符串

    字符串是python中使用频率很高的一种数据类型,内置方法也是超级多,对于常用的方法,还是要注意掌握的. #author: Administrator #date: 2018/10/20 # pyth ...

  2. CSS| 框模型-margin

    CSS margin 属性 设置外边距的最简单的方法就是使用 margin 属性. margin 属性接受任何长度单位,可以是像素.英寸.毫米或 em. margin 可以设置为 auto.更常见的做 ...

  3. YUM仓库服务与PXE网络装机

    1.yum:基于RPM包构建软件更新机制自动解决依赖关系,软件包由软件包库提供 提供方式:ftp服务:ftp://IP地址/仓库目录 Http服务:http ://  IP地址/仓库目录 本地目录:f ...

  4. ELK-logstash-6.3.2部署

    Logstash 是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理. 1. logstash部署 [yun@mini04 software]$ p ...

  5. 最后一个单词的长度的golang实现

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 输入: "He ...

  6. Address already in use: JVM_Bind问题的解决

    tomcat一般出现Address already in use: JVM_Bind的问题,可能是端口冲突,也就是端口被占用了. 这个可能是其他应用程序使用了同一个端口(默认是8080),也可能是你启 ...

  7. nginx与location语法详解

    Location语法优先级排列 匹配符 匹配规则 优先级 = 精确匹配 ^~ 以某个字符串开头 ~ 区分大小写的正则匹配 ~* 不区分大小写的正则匹配 !~ 区分大小写不匹配的正则 !~* 不区分大小 ...

  8. 用户输入序号选择商品,按q退出

    输出商品列表,用户输入序号,显示用户选中的商品 li = ['手机','电脑','鼠标垫','游艇'] while 1: li = ['手机','电脑','鼠标垫','游艇'] for i in li ...

  9. redsi一主两从三哨兵

    1.前提准备 防火墙,selinux,主机名解析,所有主机安装gcc [root@localhost ~]# vim /etc/hosts 192.168.122.135  redis_master ...

  10. mysql explain(转)

    explain显示了mysql如何使用索引来处理select和表连接 转自http://blog.csdn.net/zhuxineli/article/details/14455029 explain ...