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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
使用nodejs、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
Nodejs中Express 常用中间件 body-parser 实现解析
May 22 NodeJs
使用nodejs+express实现简单的文件上传功能
Dec 27 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
NodeJs实现简易WEB上传下载服务器
Aug 10 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 NodeJs
在nodejs中创建child process的方法
Jan 26 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
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
php设计模式 Factory(工厂模式)
2011/06/26 PHP
php session劫持和防范的方法
2013/11/12 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
php生成图片验证码的方法
2016/04/15 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
python进阶教程之动态类型详解
2014/08/30 Python
python paramiko模块学习分享
2017/08/23 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
详解Python中的动态属性和特性
2018/04/07 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
Python中SQLite如何使用
2020/05/27 Python
Pycharm安装python库的方法
2020/11/24 Python
售后专员岗位职责
2013/12/08 职场文书
电子信息专业自荐书
2014/02/04 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
城管个人总结
2015/02/28 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
Flask response响应的具体使用
2021/07/15 Python
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS
浅析JavaScript中的变量提升
2022/06/01 Javascript