CentOS 7 安装 nodejs 及 npm 安装模块的常见问题
文章目录
- 简介
- 一、yum 仓库安装(不推荐)
- 二、源码安装
- 三、其他相关的问题
简介
nodejs 被广泛使用,即使是不从事 nodejs 开发工作也经常要接触到,安装方法和其他软件安装方法一样,仓库安装和源码安装,以下操作皆为 CentOS7 环境下执行
一、yum 仓库安装(不推荐)
我其实是比较喜欢使用 yum 仓库安装软件的,原因无他,简单方便、省心省事。但是 nodejs 这个我是不推荐使用 yum 仓库安装的,因为 yum 仓库中的 nodejs 版本相比主流版本差太多了,经常会遇到各种莫名其妙的问题
# 以下是直接使用 yum 仓库安装的 nodejs 版本,还是 6.x 的,现在一般都是用 12.x 的了
[root@benarchen ~]# yum install nodejs -y
[root@benarchen ~]# node --version
v6.17.1
[root@benarchen ~]# npm --version
3.10.10
而且我使用这种方法安装 pm2 之后遇到个报错:/usr/lib/node_modules/pm2/node_modules/chalk/source/index.js:103
[root@benarchen ~]# pm2 --version
/usr/lib/node_modules/pm2/node_modules/chalk/source/index.js:103...styles,^^^
一般遇到这个问题就是 nodejs 版本太低导致的,直接卸载,改用源码安装的方式
npm uninstall npm -g
#或者
yum remove nodejs -y
二、源码安装
- 下载文件
详细的版本可以在这里找到:https://npm.taobao.org/mirrors/node/
# 创建一个存放 nodejs 源文件的目录,并下载源文件
[root@benarchen /]# mkdir -p /usr/local/nodejs
[root@benarchen /]# cd /usr/local/nodejs/
[root@benarchen nodejs]# wget https://npm.taobao.org/mirrors/node/v12.12.0/node-v12.12.0-linux-x64.tar.gz
--2020-12-09 16:55:00-- https://npm.taobao.org/mirrors/node/v12.12.0/node-v12.12.0-linux-x64.tar.gz
Resolving npm.taobao.org (npm.taobao.org)... 114.55.80.225
Connecting to npm.taobao.org (npm.taobao.org)|114.55.80.225|:443... connected.
...
2020-12-09 16:55:03 (6.97 MB/s) - ‘node-v12.12.0-linux-x64.tar.gz’ saved [21651746/21651746]
# 查看下载的文件
[root@benarchen nodejs]# ls
node-v12.12.0-linux-x64.tar.gz
- 解压文件
[root@benarchen nodejs]# tar -xvf node-v12.12.0-linux-x64.tar.gz
[root@benarchen nodejs]# ll
total 21152
drwxr-xr-x 6 1001 1001 4096 Oct 12 2019 node-v12.12.0-linux-x64
-rw-r--r-- 1 root root 21651746 Oct 12 2019 node-v12.12.0-linux-x64.tar.gz
- 配置环境变量
[root@benarchen nodejs]# vim /etc/profile
# 添加下面内容
export NODE_HOME=/usr/local/nodejs/node-v12.12.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH# 这里要注意,NODE_HOME 后面的值是自己解压后的目录,保存后退出
# 更新环境变量
[root@benarchen nodejs]# source /etc/profile
- 查看版本
[root@benarchen nodejs]# npm -v
6.11.3
[root@benarchen nodejs]# node -v
v12.12.0
三、其他相关的问题
有可能你安装好比较新的版本后还是安装不了想安装的模块,这一般是因为安装好的 nodejs 默认的 npm 源是官方源,而该地址是国外的,所以自然会有速度慢、网络超时的情况,可以做一下的尝试
- 修改为国内的淘宝 npm 源
# 设置为淘宝 npm 源
npm config set registry https://registry.npm.taobao.org
# 查看 npm 源
npm config get registry
- 使用 cnpm 替代 npm
cnpm 是淘宝自己搞的一个命令,和淘宝的 npm 源契合度较高。按理说我们就是因为 npm 用不了才会想改成使用 cnpm,但是 cnpm 又需要使用 npm 安装,所以这点我也一直很迷惑,我最开始使用 npm 安装 pm2 模块,怎么都安装不成功,最后没办法了就尝试替换成 cnpm,再用 cnpm 安装 pm2 就成功了,所以这里也说下 cnmp 替换 npm 的方式
# 下载 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 安装 cnpm
cnpm i 或者 cnpm install
这样操作以后就可以使用 cnpm 了,反正我就是这样才安装好 pm2 模块的,并且安装完 pm2 后也不会有 /usr/lib/node_modules/pm2/node_modules/chalk/source/index.js:103
的报错
CentOS 7 安装 nodejs 及 npm 安装模块的常见问题相关推荐
- node php环境变量配置,关于NodeJS、NPM安装配置步骤(windows版本) 以及环境变量的介绍...
本篇文章主要介绍了NodeJS.NPM安装配置步骤(windows版本) 以及环境变量详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.windows下的NodeJS安装是比较方便的(v0. ...
- 树莓派安装nodejs和npm
安装nodejs和npm 本教程只安装LTS版本 设置代理(如果要安装10,就把12改成10即可) curl -sL https://deb.nodesource.com/setup_12.x | s ...
- 安装nodejs和npm和tldr
安装nodejs和npm和tldr Ubuntu 16.04 TLS,执行以下命令: sudo apt-get install nodejs sudo apt install nodejs-legac ...
- 简述nodejs、npm及其模块在windows下的安装与配置
nodejs的安装 登陆官网http://nodejs.org/,自行安装,不需配置环境变量,安装中自动配置了. 检测是否安装成功,使用cmd输入 node -v 即可查看. npm的安装 如果是最新 ...
- Ubuntu系统如何安装nodejs及npm
1.先在系统上安装好nodejs和npm sudo apt-get install nodejs-legacy sudo apt-get install npm 安装完成后的npm在系统/usr/lo ...
- ubuntu18.10下面安装nodejs和npm和cnpm
安装nodejs apt install nodejs ln -s /usr/bin/nodejs /usr/bin/node subl ~/.bashrc alias node=/home/appl ...
- [nodejs]国内npm安装nodejs modules失败的几个解决方案
使用npm安装node模块时经常有卡住安装失败的情况,如图所示.原因在于npm服务器在美国,还有就是某强大的防火墙作用.这样的问题导致很多新手放弃使用node,几乎每天都有新手再问这个问题.现在分享一 ...
- NodeJS 修改npm安装位置
默认安装位置在C盘,导致开发过程中C盘占用内存过大,系统运行缓慢等问题 建议更改安装和缓存位置 一.使用 Shell 修改安装目录 1)检查是否安装成功输入 node -v 2)使用 npm conf ...
- CentOS安装 NodeJS 和 NPM
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - yum install nodejs -y
- NodeJS、NPM安装配置步骤(windows版本)
2013-06-15 13:52:18| 分类: JavaScript | 标签:nodejs npm |举报|字号 订阅 下载LOFTER我的照片书 | 1.windows下的NodeJS ...
最新文章
- mysql 定义class_MySQL数据库类的定义
- 侯捷译Practical Java(含源码)
- ASP.NET 中的表单身份验证(Forms Authentication)
- asp.net使用easyUI 前后台数据交互
- CodeForces - 916D Jamie and To-do List(主席树+模拟)
- [vue-cli]vue-cli3你有使用过吗?它和2.x版本有什么区别?
- GEETEST极验召集互联网大佬齐聚光谷,共同探讨交互安全问题
- hdu 2295 Radar DLX 重复覆盖问题
- 《重来》值得你多看几遍
- OEL修改字符集失败 -bash: /root: is a directory
- Devexpress 10.1.6 源代码重新编译成功(DXperience 10.1.6 重新编译)附所有需要用到的资源下载地址 (收藏)...
- 使用两个栈实现一个队列
- 中国微电网市场趋势报告、技术动态创新及市场预测
- FastAPI 快速入门
- 基于javaee的社区医院远程挂号系统
- netty源码分析及优点
- 将Android布局转成图片,并保存到本地(解决JPEG图片因透明度变黑问题)
- lstm需要优化的参数_1-基于LSTM-GA 的股票价格涨跌预测模型
- 八种常见排序算法细讲
- 基于MATLAB的LBM代码: Rough jet model