概述

今天我在我的 AWS EC2 服务器上安装了 nodejs。没想到竟然这么麻烦,比在 windows 和 mac 上麻烦多了。所以我把心得记录下来,供以后开发时参考,相信对其他人也有用。

参考资料:

LINUX 安装NODEJS环境以及路径配置

选择包管理器

对于不同的服务器,需要选择不同的包管理器。比如 macOS 就建议用 homebrew。

我的服务器是 CentOS 系统,所以使用 yum。

在安装了 yum 之后,最好也安装一下 wget:

yum install wget

获取 nodejs 包

我们尝试用 yum install nodejs,但是提示包不存在。所以我们使用 wget 在线下载 nodejs 包。

我们打开nodejs 官方下载页,找到 Linux Binaries (x64) 这行,然后复制下载地址 https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz

注意:千万不要点 source code 那一行,就是 .tar.gz 结尾的那个。

然后我们使用 wget 下载:

wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz

安装并改名

我们下载下来的包一般会放在当前的文件夹,我当前的文件夹是 yangzhou 用户的主文件夹,路径是 /home/yangzhou,也可以用 pwd 查看当前目录的路径。

我们希望把 nodejs 放到** /usr/local **路径下面,所以我们执行下面操作:

cp node-v10.16.3-linux-x64.tar.xz /usr/local   ## 复制
xz -d node-v10.16.3-linux-x64.tar.xz ## 将tar.xz解压成tar文件
tar -xvf node-v10.16.3-linux-x64.tar ## 将tar文件解压成文件夹
mv node-v10.16.3-linux-x64 node ## 改名为 node rm -rf node-v10.16.3-linux-x64.tar ## 删除不必要的包
cd /home/yangzhou ## 切换回以前的文件夹
rm -rf node-v10.16.3-linux-x64.tar.xz ## 删除不必要的包
cd /usr/local ## 切换回来

检查 node 是否可以启动

我们执行下面的命令:

/usr/local/node/bin/node -v

如果能够正常输出版本号,则证明 node 可以正常启动。

配置软连接

我们需要 node 可以在全局启动,所以配置如下软连接:

ln -s /usr/local/node/bin/node /usr/bin/node  ## 将node源文件映射到usr/bin下的node文件
ln -s /usr/local/node/bin/npm /usr/bin/npm

然后我们检查是否可以全局启动:

node -v
npm -v

如果都能输出版本号则证明可以全局启动。

配置 node 的全局安装文件夹和缓存

我们给 node 设置全局安装文件夹和缓存

cd /usr/local/node
mkdir node_global
mkdir node_cache
npm config set prefix "node_global"
npm config set cache "node_cache"

以后全局安装的包都在 node_global 文件夹里面了。

安装 cnpm

有时我们需要使用** cnpm**,所以我们全局安装 cnpm:

npm install cnpm -g --registry=https://registry.npm.taobao.org

我们之前说过,全局安装的包都在 node_global 文件夹里,所以 cnpm 也在里面。我们查到它的路径,然后设置软连接,让 cnpm 全局也可以使用:

ln -s /usr/local/node/node_global/bin/cnpm /usr/bin/cnpm

这样就完成啦~~

CentOS 系统安装 nodejs 及相关配置的更多相关文章

  1. Linux centos系统安装后的基本配置,Linux命令

    一.centos系统安装后的基本配置 .常用软件安装 yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tr ...

  2. 笔记:修改centos的IP地址相关配置

    最近碰到不少认识的人问相关问题 索性做个笔记 图个方便 修改eth0的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPR ...

  3. CentOS防火墙iptables-config的相关配置参数详解

    默认/etc/sysoncifg/iptables-config的配置内容: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 ...

  4. CentOS 6.5 服务器相关配置

    vi /etc/sysconfig/network-scripts/ifcfg-eth0 #配置网卡 ONBOOT=YES #静态IPBOOTPROTO=static #启用地址协议 --static ...

  5. 布衣之路(一):VMware虚拟机+CentOS系统安装

    前言:布衣博主乃苦逼的Java程序猿一枚,虽然工作中不会涉及系统运维,但是开发的项目总还是要部署到服务器做一些负载均衡.系统兼容性测试.系统集成等等骚操作,而这些测试性的操作不可能直接SSH远程运维的 ...

  6. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  7. Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

    一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|x ...

  8. vi代码智能提示功能及相关配置

    vim是一款支持插件.功能无比强大的编辑器,无论你的系统是linux.unix.mac还是windows,都能够选择他来编辑文件或是进行工程级别 的coding.如果能把vim用好了,不仅编程效率能得 ...

  9. Centos下MySQL主从同步配置

    说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样, 因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave ...

随机推荐

  1. python-迭代器与生成器2

    python-迭代器与生成器2 def fib(max): n,a,b=0,0,1 while n<max: #print(b) yield b a,b=b,a+b #t=(b,a+b) 是一个 ...

  2. Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E.Trips

    比赛的时候想到怎么做了 没调出来(感觉自己是个睿智) 给你N个点M条边,这M条边是一条一条加进去的 要求你求出加入每一条边时图中极大'K度'子图的大小 极大'K度'子图的意思是 要求出一个有尽量多的点 ...

  3. MySQL更新字段来自另一个表的count()值

    假设有文章post和评论comment两个表,文章表记录有评论的数量,但是这个值我们要一次更新. 如下,现在post表的comment_count都是0,我们的目标是:执行一个SQL语句,让其把统计c ...

  4. 在Spring MVC 中配置自定义的类型转换器

    方法一: 实现spring mvc 自带的 Formatter 接口 1.创建一个类来实现Formatter接口 import org.springframework.format.Formatter ...

  5. Spring Boot干货系列:(十二)Spring Boot使用单元测试(转)

    前言这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下4点来介绍,基本满足日常需求 Service层单元测试 Controller层单元测试 新断言assertThat使用 单元 ...

  6. k8b部署prometheus+grafana

    来源: https://juejin.im/post/5c36054251882525a50bbdf0 https://github.com/redhatxl/k8s-prometheus-grafa ...

  7. CSS3的多列属性

    CSS3 可以将文本内容设计成像报纸一样的多列布局 ㈠CSS3 多列属性 ㈡column-count 属性 ⑴语法:column-count: number|auto; ⑵值:          ㈢c ...

  8. Centos 由字符界面 init 3 切换图形界面 init 5

    Centos6 和 Centos7 由字符界面切换成 图形界面方法不同,下面分别介绍. 一.Centos6 切换方法 yum -y install xorg* yum -y groupinstall ...

  9. sh_08_格式化字符串

    sh_08_格式化字符串 info_tuple = ("小明", 21, 1.85) # 格式化字符串后面的 `()` 本质上就是元组 print("%s 年龄是 %d ...

  10. mysql bit 和 tinyint 的区别及使用场景?

    bit类型语法:bit[(M)] : 位字段类型.M表示每个值的位数,范围从1到64.如果M被忽略,默认为1. tinyint是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的 ...