CentOS 系统安装 nodejs 及相关配置
概述
今天我在我的 AWS EC2 服务器上安装了 nodejs。没想到竟然这么麻烦,比在 windows 和 mac 上麻烦多了。所以我把心得记录下来,供以后开发时参考,相信对其他人也有用。
参考资料:
选择包管理器
对于不同的服务器,需要选择不同的包管理器。比如 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 及相关配置的更多相关文章
- Linux centos系统安装后的基本配置,Linux命令
一.centos系统安装后的基本配置 .常用软件安装 yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tr ...
- 笔记:修改centos的IP地址相关配置
最近碰到不少认识的人问相关问题 索性做个笔记 图个方便 修改eth0的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPR ...
- 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 ...
- CentOS 6.5 服务器相关配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #配置网卡 ONBOOT=YES #静态IPBOOTPROTO=static #启用地址协议 --static ...
- 布衣之路(一):VMware虚拟机+CentOS系统安装
前言:布衣博主乃苦逼的Java程序猿一枚,虽然工作中不会涉及系统运维,但是开发的项目总还是要部署到服务器做一些负载均衡.系统兼容性测试.系统集成等等骚操作,而这些测试性的操作不可能直接SSH远程运维的 ...
- 环境搭建系列-系统安装之centos 6.5安装与配置
按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...
- Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|x ...
- vi代码智能提示功能及相关配置
vim是一款支持插件.功能无比强大的编辑器,无论你的系统是linux.unix.mac还是windows,都能够选择他来编辑文件或是进行工程级别 的coding.如果能把vim用好了,不仅编程效率能得 ...
- Centos下MySQL主从同步配置
说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样, 因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave ...
随机推荐
- Centos7.0 三种网络适配器
VMnet0:桥接模式 VMnet1:主机模式 VMnet8:NAT模式 VMware Network Adepter VMnet1:宿主Host用于与 主机模式 虚拟网络进行通信的虚拟网卡 VMwa ...
- linux 常用指令汇总
新用户的一些操作: 查看当前用户:who am i(可以看到是否是伪终端)/也可以是whoami 添加用户:sudo adduser ..(用户名)..(此时创建的用户并未加入sudo组所以并不具有至 ...
- 牛客练习赛47 E DongDong数颜色 (树上启发式合并)
链接:https://ac.nowcoder.com/acm/contest/904/E 来源:牛客网 DongDong数颜色 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 5242 ...
- zencart通过产品id 批量添加推荐产品
1.修改 admin/featured.php 查找 pre_add_confirmation 将 pre_add_confirmation 与 break; 之间的代码,用下面的代码替换即可 &l ...
- 记录一下RAC的使用
1 常规的对数组的操作,包括遍历.刷选.映射.替换 // 遍历 NSArray * array = @["]; [array.rac_sequence.signal subscribeNe ...
- nginx第三天
nginx架构分析 nginx模块化 nginx基于模块设计,每个模块是一个功能实现,分布式开发,团队协作 核心模块,标准http模块,可选http模块,邮件模块,第三方模块 编译后的源码目录 ob ...
- hiho #1502:最大子矩阵(元素和不超过k)
#1502 : 最大子矩阵 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个NxM的矩阵A和一个整数K,小Hi希望你能求出其中最大(元素数目最多)的子矩阵,并且该 ...
- 20. ClustrixDB explain参数解读
ClustrixDB有一个流模型,它从容器(表和索引)开始并通过操作符图对行进行流处理.ClustrixDB有一组丰富的操作符,随着更多功能和优化的添加,这些操作符偶尔会增加.我们使用一个地方来记录操 ...
- k8s-insight测试
eureka apiVersion: v1 kind: Pod metadata: name: eureka labels: ccb: eureka spec: containers: - name: ...
- sh_11_字典的其他操作
sh_11_字典的其他操作 xiaoming_dict = {"name": "小明", "age": 18} # 1. 统计键值对数量 p ...