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打包工具整合到鼠标右键的方法
May 11 NodeJs
初始Nodejs
Nov 08 NodeJs
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
nodejs URL模块操作URL相关方法介绍
Mar 03 NodeJs
nodejs redis 发布订阅机制封装实现方法及实例代码
Dec 15 NodeJs
深入解析nodejs HTTP服务
Jul 25 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 NodeJs
详解Nodejs内存治理
May 13 NodeJs
Nodejs使用Mongodb存储与提供后端CRD服务详解
Sep 04 NodeJs
nodejs图片处理工具gm用法小结
Dec 12 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
HTML颜色选择器实现代码
2010/11/23 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
javascript时间差插件分享
2016/07/18 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python插件机制实现详解
2020/05/04 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
Python 高效编程技巧分享
2020/09/10 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
linux系统都有哪些运行级别
2016/03/26 面试题
计算机专业自荐信
2014/05/24 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
一文带你探究MySQL中的NULL
2021/11/11 MySQL
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js