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 ...
随机推荐
- time:时间就是生命
golang中的time包是用来处理时间的. 1.时间的基本属性 package main import ( "fmt" "strings" "tim ...
- 查看jar包依赖树
在eclipse执行如下命令: 可以在控制台上查看层级依赖关系
- golang 结构体嵌入和匿名成员
考虑一个二维的绘图程序,提供了一个各种图形的库,例如矩形.椭圆形.星形和轮形等几 何形状.这里是其中两个的定义 type Circle struct { X, Y, Radius int } type ...
- Linux系统组成和获取命令帮助1
在GNU上边发布的都是源码,不可以直接拿来使用 源代码都是文本格式的,需要找个编译器编译成不同机器上使用的二进制,这样机器才可以运行的起来 英特儿的CPU有着x86,x64架构之分,x64又叫amd6 ...
- ubuntu搭建gerrit+gitweb代码审核系统
一.Gerrit的简介 Gerrit是Google开源的一套基于web的代码review工具,它是基于git的版本管理系统.Google开源Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个 ...
- uestc summer training #9 牛客第三场 BFS计数
G.coloring tree BFS计数 题目:给你n(<=5000)个节点的一颗树 你有K(<=5000)种颜色 你可以给每一个节点染一种颜色 总共有Kn种染色方法 在一种染色方法中 ...
- Summer training round2 #1
A:水 B:求两个三角形之间的位置关系:相交 相离 内含 ①用三个点是否在三角形内外判断 计算MA*MB.MB*MC.MC*MA的大小 若这三个值同号,那么在三角形的内部,异号在外部 #incl ...
- Linux文件类型和文件相关命令
文件类型 ll后可以看到文件详情: -:常规文件(内部类型是什么,用file命令) d:directory,目录文件 b:blobk device,块设备文件,支持以“block”为单位进行随机访问 ...
- Javascript引擎
注入了 浏览器对象模型BOM, 文档对象模型DOM
- JAVA笔记9-多态(动态绑定、池绑定)
1.动态绑定:执行期间(而非编译期间)判断所引用对象的实际类型,根据实际的类型调用相应方法. 2.多态存在的三个必要条件(同时):继承.重写.父类引用指向子类对象. 这三个条件满足后,当调用父类中被重 ...