linux 下以二进制的方式安装 nodejs


Posted in NodeJs onFebruary 12, 2020

在一些linux环境下,安装最新的nodejs比较麻烦,因为受到linux源的影响,往往直接通过yum/apt安装的都不是想要的版本,因此,必须自己去选择 对应的版本 来安装。但是,nodejs官方又不会为所有的操作系统打包,而编译安装常常又会遇到依赖问题。所以在一些情况下,我们需要在linux机器上,直接下载官方构建好的产出结果来运行。

例如,我们现在需要安装v10.x版本,我们通过wget下载对应的-linux-x64.tar.gz文件,然后通过tar命令将其解压到~/.lib/目录下。(注意,这里,我只需要我自己当前这个账号可以使用该node包。)然后修改~/.bashrc文件,在其末尾增加:

export PATH="$PATH:~/.lib/node-v10.9.0/bin"

然后执行:

source .bashrc

这样就可以让node生效了。这个操作很好理解,就是将node的bin路径加入到环境变量PATH中。

而如果要让登陆这台linux的所有用户都可以使用这个node的话,则需要将解压出来的文件夹放到一个公共的位置,一般会考虑放到/usr/local/lib目录下面,当然,位置不是最重要的,重要的是,你需要在/etc/profile这个文件中添加上面的 export 语句。而且里面指向的路径需要用绝对路径,这样就可以让其他用户享受nodejs的快乐。

以下是Shell代码:

#!/bin/sh
#
# 安装NodeJS
#
# Yepo 2016-07-28
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
printf "
#######################Install NodeJS######################
"
#下载NodeJS二进制包
nodeVersion=v0.12.15
wget https://nodejs.org/download/release/$nodeVersion/node-$nodeVersion-linux-x64.tar.gz
#移动到指定目录
srcDir=/usr/local/src
#转移包
mv node-$nodeVersion-linux-x64.tar.gz $srcDir
#转到该目录
cd $srcDir
#解押包
tar xzf $srcDir/node-$nodeVersion-linux-x64.tar.gz
#更名,这个看喜好啦
mv node-$nodeVersion-linux-x64/ node/
#放到指定目录
mv node ../
#把可执行的两个程序放到/usr/local/bin
cd /usr/local/node/bin
mv node /usr/local/bin
#删除这个软连接
rm -rf npm
#转到/usr/local/bin创建npm的软连接
cd /usr/local/bin
ln -s /usr/local/node/lib/node_modules/npm/cli.js npm
#检查安装
isCompleted=0
node -v > /dev/null 2>&1
isCompleted=$?
npm help > /dev/null 2>&1
isCompleted=$?
if [ "$isCompleted" == "0" ];then
    echo "OK"
else
    echo "Error"
fi

总结

以上所述是小编给大家介绍的linux 下以二进制的方式安装 nodejs,希望对大家有所帮助!

NodeJs 相关文章推荐
nodejs的10个性能优化技巧
Jul 15 NodeJs
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
nodejs实现百度舆情接口应用示例
Feb 07 #NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 #NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 #NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 #NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 #NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 #NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 #NodeJs
You might like
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
Python中文字符串截取问题
2015/06/15 Python
Python的Flask框架的简介和安装方法
2015/11/13 Python
Python冲顶大会 快来答题!
2018/01/17 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
大学生个人学习总结
2015/02/15 职场文书
承诺保证书格式
2015/02/28 职场文书
交通事故协议书范本
2016/03/19 职场文书
Redis高可用集群redis-cluster详解
2022/03/20 Redis
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
聊聊CSS粘性定位sticky案例解析
2022/06/01 HTML / CSS
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers