CentOS7 编译安装nodejs,配置环境变量记录
每次都装,每次都查
阿里云备案了一个域名,续费了好多年,但是没钱买服务器,就挂在github上。今天收到消息:域名解析服务器不在阿里云,要被GG。只能咬牙买了个阿里云乞丐版。
所有服务都装好了,ping域名也通了,就是无法访问。感谢伟大的sf网友,给我指明了方向,
阿里云也不给个醒目的提示,让我等小白如何知道还要配置安全组。。。
安装nodejs
去nodejs官网查看需要的版本。官网
nodejs的安装需要依赖很多,如gcc等,首先我们需要将这些安装成功,用rpm命令rpm -q gcc查看下,如果没有gcc等,所以要用yum进行安装:
yum -y install gcc gcc-c++ kernel-devel
也可以使用下面命令查看否有 Development Tools:
yum group list
没有的安装开发工具:
yum -y update && yum -y group install"Development Tools"
将依赖安装后,就可以进行nodejs安装啦
Linux目录介绍
Linux系统目录详解
linux下编译安装程序的路径说明
/home用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示/var某些大文件的溢出区,比方说各种服务的日志文件/usr最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:/usr/local这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面,第九影院我想这应该是个不错的主意。
我们就选/usr/local目录下新建一个nodejs目录来编译安装吧:
首先在~下新建一个download目录,去淘宝镜像查询可用版本,然后:
wget https://npm.taobao.org/mirrors/node/latest-v8.x/node-v8.9.3.tar.gz
tar -xzvf node-v8.9.3.tar.gz
(可选)解压后可以删除源代码包,释放空间
rm node-v8.9.3.tar.gz
然后进入解压后的目录
cd node-v8.9.3
./configure
。。。。。失败,gcc-c++编译器太老,升级编译器巨坑,换条路子
如果上面的命令成功,接下来执行:
编译
make
如果报错
fatal error: zlib.h: No such file or directory #include <zlib.h> 缺少
zlib的头文件, 开发包没装,
yum install zlib (系统默认已经装上)
yum install zlib-devel
解决
如果还报错 Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains:
/usr/local/lib64/ yum install perl-ExtUtils-Embed -y
安装
make install
不指定prefix,则可执行文件默认放在/usr
/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr
/local/share。你要卸载这个程序,要么在原来的make目录下用一次make
uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。
指定prefix,直接删掉一个文件夹就够了。
去官网下载二进制包:
wget https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz
xz -d node-v8.9.3-linux-x64.tar.xz
tar -xvf node-v8.9.3-linux-x64.tar
mv node-v8.9.3-linux-x64 /usr/local/nodejs
配置环境变量
vi /etc/profile
最后面添加:
export NODE_HOME=/usr/local/nodejs
export PATH=$NODE_HOME/bin:$PATH
:wq保存,然后运行
source /etc/profile
可以用node -v和npm -v来检查下:
node -v
// v8.9.3
npm -v
// 5.5.1
查看环境变量是否生效
echo $PATH
安装git
下载git
wget http://www.dijiuyy.org/ pub/software/scm/git/git-2.15.1.tar.gz
执行
$ yum install curl-devel
$ # cd to wherever the source for git is
$ cd /usr/local/src/git-1.7.9
$ ./configure
$ make
$ make install
编译安装完以后git命令无法直接使用,需要设置下环境变量。执行如下操作:
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/profile
source /etc/profile
好像可以通过
yum -y install epel-release安装git和node
yum -y groupinstall "Development Tools"
yum -y install git
如果遇到git fatal: Unable to find remote helper for ‘https’的错误,可以通过
whereis git
找出对应的git安装目录,删除,然后安装
yum install curl-devel
然后再走一遍编译安装的步骤,就能搞定啦
安装zsh
sudo yum update && sudo yum -y install zsh
chsh -s $(which zsh)
echo $SHELL
安装好需要reboot重启系统,才能生效,验证下
CentOS7 编译安装nodejs,配置环境变量记录的更多相关文章
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- centos7 编译安装新版LNMP环境
centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...
- Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录
Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录 Hadoop 2.6 的安装与配置(伪分布式) 下载并解压缩 配置 .bash_profile : ...
- Golang入门(1):安装与配置环境变量的意义
摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...
- Xamarin.Forms教程下载安装JDK配置环境变量
Xamarin.Forms教程下载安装JDK配置环境变量 Xamarin.Form环境配置下载安装JDK JDK是编程Java程序必须的软件.也许有人会问我们用的C#为什么还有Java呢?这是因为我们 ...
- JDK和TOMCAT的安装与配置环境变量
一.JDK该怎么安装与配置环境变量 步骤1.安装JDK选择安装目录,安装jdk1.8.0_77过程中会出现安装提示. 步骤2.(1)安装jdk随意选择目录 只需把默认安装目录\java之前的目录修改即 ...
- jdk 安装过程配置环境变量 error 的解决过程
jdk 安装过程配置环境变量 error 的解决过程 问题背景: 我在安装 jdk 过程中在JAVA_HOME和path中添加路径后, cmd 中输入java 和javac均出现错误,因为之前在 D ...
- Linux CentOS7.0下JAVA安装和配置环境变量
一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...
随机推荐
- Java连接mysql中遇到的一些问题及解决方法
1.Java使用mysql-jdbc连接MySQL出现如下警告: Establishing SSL connection without server's identityverification i ...
- VIM中的保存和退出
在插入模式下按ESE键.然后按住shift别松.在按;键.进入末行模式下. 然后按wq键.就可以保存退出了.
- 动态生成的DOM做点击事件无效
有时候我们的标签都是从后台获取的数据,然后利用JS添加到页面上,当我们写生成的标签的点击事件(click)时没有效果. 例如: <section> 测试动态生成的DOM点击事件 <b ...
- JavaScript中基本知识
变量 每个变量仅仅是一个用于保存值的占位符而已. 用var操作符定义的变量将成为定义该变量的作用域中的局部变量. 省略var操作符可以定义一个全局变量.但是不推荐这种做法,因为在局部作用域中定义的全局 ...
- 如何把设计图自动转换为iOS代码? 在线等,挺急的!
这是一篇可能略显枯燥的技术深度讨论与实践文章.如何把设计图自动转换为对应的iOS代码?作为一个 iOS开发爱好者,这是我很感兴趣的一个话题.最近也确实有了些许灵感,也确实取得了一点小成果,和大家分享一 ...
- 在线代码编辑器 Codemirror 的轻量级 React 组件
代码编辑器 CodeMirror 的轻量级 React 组件 demo @uiw-react.github.io/react-codemirror/ 特性:
- LeetCode111. Minimum Depth of Binary Tree
题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15, ...
- Java中堆、栈,静态方法和非静态方法的速度问题
一.堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储 ...
- 记一次samba排错 Failed to start Samba SMB Daemon.
记录一次服务出错排错的过程,很多新手出了点错不百度直接巴拉巴拉的问,一般老手根据经验可以给出一点建议,但是由于个体环境的差异并不适用,反而埋怨起来.这种真的无F**K可说,所以要培养自己的排错能 ...
- JavaScript数组常用的方法
改变原数组: ※ push,pop,shif,unshift,sort,reverse ※ splice 不改变原数组: ※ concat,join→split,toString,slice push ...