Linux下Node.js和NPM安装和配置

2023-05-16

目录

前言

1. 安装Nodejs和NPM

2. NPM的配置

3. nodejs的基本使用 

3.1 搭建简易后端服务器

4. npm的基本使用

4.1 搭建vue 2.0开发环境


前言

Nodejs简介

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。

Npm简介

npm是JavaScript运行时环境Node.js的默认包管理器,用于管理依赖包的下载与卸载

npm是在nodejs下载安装后自带的工具。

1. 安装Nodejs和NPM

1. 下载安装包

首先在node官网下载页面查找对应版本,下载nodejs

  或者如下链接:Index of /dist/v12.14.1/ 

 如果机器能联网,可以在Linux命令下直接下载node包:

// 在Linux命令下直接下载node包
wget https://npmmirror.com/mirrors/node/v16.14.0/node-v16.14.0-linux-x64.tar.xz

2. 解压安装包

下载后解压压缩包

//如果压缩包是xz结尾
xz -d node-v16.14.0-linux-x64.tar.xz
//如果压缩包是gz结尾
tar -vxf node-v16.14.0-linux-x64.tar.gz

解压成功后生成名称为 node-v16.14.0-linux-x64的文件夹

进入node-v16.14.0-linux-x64/bin文件夹,查看node版本号

cd /node-v16.14.0-linux-x64/bin/

./node -v

3. 添加软连接

ln -s /node-v16.14.0-linux-x64/bin/node /usr/local/bin/node

ln -s /node-v16.14.0-linux-x64/bin/npm /usr/local/bin/npm

4. 最后一步,查看版本号

node -v

npm -v

 完成node安装~

2. NPM的配置

1. 查看npm的配置文件及其配置

npm config ls -l 				#查看npm的所有配置信息
npm config get globalconfig		#获取全局配置文件的路径,默认不启用
npm config get userconfig		#获取用户配置文件的路径,默认启用
npm config get registry			#获取远程依赖包的下载地址
npm config get cache			#获取包缓存路径
npm config get prefix			#获取全局包的安装路径
npm config get proxy			#获取代理地址

全局配置文件路径

global = false
global-style = false
globalconfig = "/home/work/nodejs/etc/npmrc"
globalignorefile = "/home/work/nodejs/etc/npmignore"

 用户配置路径

userconfig = "/home/work/.npmrc"

下载依赖包的远程镜像地址

registry = "https://registry.npmjs.org/"

下载的缓存路径

cache = "/home/work/.npm"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10

依赖包的安装路径

prefix = "/home/work/nodejs"

代理地址

https-proxy = null
proxy = null

2. 修改默认配置

npm config list		#获取用户配置
npm config set prefix="D:\Program Files\nodejs\node_global" #设置全局包的下载路径
npm config set cache="D:\Program Files\nodejs\node_cache"	#设置缓存路径
npm config set registry=http://registry.npm.taobao.org/		#设置远程镜像地址
npm config set proxy="http://127.0.0.1:[代理端口号]"			#设置代理端口号

默认下的用户配置

在这里插入图片描述

  • 自定义修改默认的包缓存、下载路径(建议和node放在一起以及)
  • 修改远程镜像地址(下载更快)如下:

在这里插入图片描述

  • 如果有些包下载不下来,比如我遇到过sass无法从github上下载下来,我们连接代理服务器并设置代理地址来下载

在这里插入图片描述

3. 包下载、全局模块

首先我们要了解公共模块和私有模块,公共模块顾名思义是公共的一个模块,该模块下的包可以被其他所有项目所使用,而私有的模块下的包,只应用在当前项目下。

在这里插入图片描述

npm install [模块名] [-g] 	#包安装,加上-g代表全局安装,不加则是当前文件夹下安装
  •  新建一个空文件夹,在此文件夹下打开控制台,下载一个当前目录下的包,会产一个模块文件夹和两个配置文件

在这里插入图片描述

  • 全局安装,在已配置的全局下载路径下观察结果

在这里插入图片描述

4. 配置包的环境路径

  •  在下载完包后,此时执行包命令是无效的,因为包的环境路径还未被配置 

    在这里插入图片描述

在这里插入图片描述

  • 为了让命令能在终端执行,我们需要在系统环境变量中添加该路径(D:\Program Files\nodejs\node_global)到系统环境Path中 

在这里插入图片描述

  •  完成以上操作后,即可在任意位置执行新安装的包命令

在这里插入图片描述

3. nodejs的基本使用 

3.1 搭建简易后端服务器

1. 新建项目的文件夹,分别包含HTML和server和文件夹如下,执行以下命令

cd .\server 		#进入server目录下
npm install express #在当前目录下安装express

2. 测试代码

test.html文件代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
    <button id="btn">发送请求</button>
    <div id="result" style="width: 200px; height: 500px;"></div>
    <script>
        var btn = document.getElementById('btn');
        var div = document.getElementById('result');
        btn.onclick = function (){
            axios({
                method:'GET',
                url: 'http://localhost:8000/server/'
            }).then(resp=>{
                console.log(resp.data);
                div.textContent = resp.data;
            })
        }
    </script>

</body>
</html>

server.js文件代码如下:

const express = require('express');

const server = express();

server.get('/server', (req, resp)=>{
    // 设置跨域
    resp.setHeader("Access-Control-Allow-Origin", "*");
    // 发送消息
    resp.send("你好!");
})

server.listen(8000, ()=>{
    console.log("服务已经启动,监听8000端口中...");
})

3. 启动服务器,在前端html页面中向服务端发送请求

node .\server.js  	#启动服务器

在这里插入图片描述

4. npm的基本使用

npm init  			//初始化项目(生成package.json)
npm install  (-g)  	//添加依赖
npm uninstall (-g) 	//删除依赖
npm update (-g)  	//更新依赖
npm run (dev,build,start,test)  //运行脚本
npm test   			//测试模块
npm start  			//启动模块
npm stop  			//停止模块
npm restart 		//重新启动模块
npm publish 		//发布模块

4.1 搭建vue 2.0开发环境

1. 安装包根据,安装完成后查看版本,检查是否安装成功

npm install webpack webpack-cli -g  	#全局安装webpack和webpack-cli
npm install vue vue-cli -g  	#全局安装vue-cli脚手架构建工具

在这里插入图片描述

2. 初始化Vue项目

vue init webpack demo  #初始化命令
cd demo			#移动到项目下
npm run dev		#启动项目

在这里插入图片描述

3. 运行Vue项目,在终端中Ctrl+localhost:8080 可直接打开网站

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下Node.js和NPM安装和配置 的相关文章

  • 单片机和ARM的区别

    1 软件方面 这应该是最大的区别了 引入了操作系统 为什么引入操作系统 xff1f 有什么好处嘛 xff1f 1 xff09 方便 主要体现在后期的开发 xff0c 即在操作系统上直接开发应用程序 不像单片机一样一切都要重新写 前期的操作系
  • 四旋翼无人机设计

    1主控制器电路设计 STM32F103RCT6是STM32家族中性能比较高端的单片机 xff0c 将单片机作为基于视觉的四旋翼路径跟踪系统的主控控制器芯片 xff0c 其内核主要是Cortex M3 处理速度快 xff0c 工作效率高 2
  • IP地址申请

    IP地址是校园网重要的网络资源 xff0c 在管理和使用过程中应当按规定进行设置和使用 大学校园网IP 地址由网络中心统一负责总体规划 分配和管理 xff0c 网络中心负责校园网IP地址的日常维护工作 xff0c 包括用户申请IP地址的审批
  • 图像处理库综述

    当需要做一些图像处理方面的学习和研究的时候 xff0c 首要任务就是选择一套合适的图像处理类库 xff0c 本文主要简单介绍下各家图像库的一些优缺点 OpenCV xff0c Intel IPP xff0c Halcon xff0c MAT
  • 核心显卡,集成显卡,独立显卡

    目前显卡已经有好几种了 xff0c 比如独立显卡 核心显卡 以及集成显卡等 xff0c 不同显卡的定位不同 核心显卡 主板集成显卡和独立显卡的区别如下 xff1a 处理器集成显卡就是指集成在cpu内部的显卡 xff0c 通常称为核心显卡 x
  • 遍历JavaScript对象的所有属性

    用来遍历指定对象所有的属性名称和值 obj 需要遍历的对象 author Jet Mah website http www javatang com archives 2006 09 13 442864 html function allP
  • 在VS环境下使用SVN

    由于我和同事要合作做一个小程序 xff0c 所以需要一个源代码管理的工具 在工作的时候我们由于是VS进行 net开发所以一般是使用TFS进行项目管理 但是我们在不同的项目组 xff0c 工作地点不一样 xff0c 而且现有的TFS服务器都是
  • 12小时上线“新冠肺炎同程查询工具”,开发者这样狙击疫情

    阿里妹导读 xff1a 2020开年极为复杂 面对新型肺炎的疫情 xff0c 我们每一个人都与国家命运紧密相连 全社会的力量都凝聚在一起 xff0c 众志成城 xff0c 共克时艰 有这么一群热爱代码的人 xff0c 用自己的方式提升效率
  • 35 个你也许不知道的 Google 开源项目

    Google是支持开源运动的最大公司之一 xff0c 它们现在总共发布有超过500个的开源项目 xff08 大部分都是利用它们的API来完成 xff09 xff0c 本文将列举一些有趣的开源项目 xff0c 其中很可能有不少你不知道的哦 文
  • Ubuntu 清除缓存 apt-get命令参数

    整理了Ubuntu Linux操作系统下apt get命令的详细说明 分享给大家 常用的APT命令参数 xff1a apt cache search package 搜索包 apt cache show package 获取包的相关信息 x
  • [code]使Ext.DatePicker只显示年月选择界面

    Ext override Ext DatePicker onRender function container position var m 61 39 lt table cellspacing 61 34 0 34 gt 39 39 lt
  • The BASEDIR environment variable is not defined correctly This environment variable is needed to run this program

    今天配一台服务器的时候 xff0c 启动tomcat莫名其妙的报错说 xff1a The BASEDIR environment variable is not defined correctly This environment vari
  • BIRT Viewer 参数设置详解

    BIRT作为一款功能强大的开源报表工具 xff0c 其版本的升级更新速度也非常快 xff0c 从1 0到2 0 xff0c 一直到最新的2 2 1版本 xff0c 无论从功能上还是性能上都得到了极大的提高和扩充 BIRT也提供了一个标准的J
  • [code]将Ext.DatePicker年份调到左边,月份调到右边

    Ext override Ext DatePicker createMonthPicker function if this monthPicker dom firstChild var buf 61 39 lt table border
  • ibatis配置log4j输出sql语句等日志信息

    整了一上午的ibatis xff0c 记得自己以前配置过log4j可以输出sql语句 xff0c 但是这次不知道咋了 xff0c 就是不输出 xff0c 找以前的项目还找不到 了 xff0c 上网上搜索了半天 xff0c 都是差不多的配置l
  • Dreamweaver 代码配色方案 DIY

    Dreamweaver 代码配色方案 DIY 最近刚换上隐形眼镜 xff0c 电脑上满屏的白花花的颜色 xff0c 看得我眼泪鼻涕直流 xff0c 无奈 xff0c 代码还是要看滴 xff0c 改造了一下Dreamweaver代码配色方案
  • xampp的apache启动失败

    xampp xff08 apache 43 mysql 43 php 43 perl xff09 是一个功能强大的建站集成软件包 许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿 如果您想添加 MySQL PHP 和
  • 降级论

    几乎一年没有写博客了 xff0c 说没时间那是借口 xff0c 唯一的原因是 xff0c 年纪越大越发觉自己肤浅 有些想法还没提笔 xff0c 就发现很幼稚 xff0c 就不敢发出来贻笑大方了 这次先给大家说个小故事 xff1a 从前有三个
  • 阿里传奇工程师多隆的程序世界

    阿里妹导读 xff1a 写代码写到入定 xff0c 是一种什么样的体验 xff1f 11月29日 xff08 本周三 xff09 xff0c 阿里技术人纪录片系列 将带大家走进大神多隆的代码世界 在此之前 xff0c 我们先来重温一篇关于多
  • 将Sublime Text2 加入右键菜单

    在googleread里面看有人推荐sublime text2 说开发很方便 就下载一个试试 写html还真的挺爽 于是按照vim加入鼠标右键的方法 果然可以 这里和大家分享 1 运行中输入 regedit 打开注册表 2 在HKEY CL

随机推荐

  • PIXHAWK飞控最新控制部分源码详解与分析(v 1.8.0)

    px4控制源码中文注释及解读 作 者 xff1a chen honglin时 间 xff1a 2018 9 27联系方式 QQ 260437028 写在前面 xff1a 关于本篇文章 作者经过两天的啃代码 发现新版本与旧版本相差不小 而网络
  • PX4应用程序编写

    PX4应用程序编写 本文将较为详细的阐述如何自己写一个程序 xff0c 并且将其添加到编译脚本中去 本文所需基础 多线程编程 第一部分 xff1a 写一个自己的程序 在Firmware src moudle下 xff0c 创建一个文件夹 x
  • 计算机操作系统之系统调用

    目录 x1f4a8 什么是系统调用 xff0c 有何作用 xff1f x1f4a8 系统调用与库函数的区别 x1f4a8 系统调用背后的过程 x1f4a8 总结 我们将带着以下问题去学习什么是系统调用 什么是系统调用 xff0c 有何作用
  • SimpleFOC移植STM32(一)—— 简介

    目录 一 代码移植说明二 控制原理2 1 有感FOC控制原理2 2 有感FOC 不带电流采样 控制原理2 3 FOC heart function 三 适配硬件3 1 Bluepill3 2 SimpleMotor 四 程序架构五 演示功能
  • SimpleFOC移植STM32(二)—— 开环控制

    目录 注意事项一 硬件介绍1 1 硬件准备1 1 1 SimpleMotor方案1 1 2 SimpleFOCShield V2 0 3方案 1 2 硬件连接1 2 1 原理图1 2 2 SimpleMotor接线1 2 3 STM32接线
  • 恶意样本分析-Lab16-01 反调试1分析

    恶意样本分析 Lab16 01 反调试1分析 这个样本是随书 恶意代码分析实战 第十六章的样本 xff0c 主要用来熟悉反调试的一些手段 xff0c 这个算是样本分析中需要掌握的基础知识 这篇笔记会包含了静态分析和静态分析 基本要求 在分析
  • 第3讲 进程间通信

    文章目录 3 1 简介3 2 互联网协议的API3 3 外部数据表示和编码3 4 组播通信3 5 网络虚拟化 xff1a 覆盖网络 3 1 简介 UDP的应用程序接口提供了消息传递 xff08 Message Passing xff09 抽
  • C语言--在排序数组中查找元素的第一个和最后一个位置

    在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums xff0c 和一个目标值 target 找出给定目标值在数组中的开始位置和结束位置 你的算法时间复杂度必须是 O log n 级别 如果数组中不存在目标值
  • [随笔]初步了解 Levenshtein Distance (Edit Distance) 编辑距离,字符相似度算法

    前几天在CSDN的论坛看到一个需要判断两个字符串之间相差多少个字符的帖子 之前有了解过有相应的算法来计算这个差异 但是没有深入的去了解 刚好趁这个时机了解了一下 Levenshtein Distance Edit Distance 编辑距离
  • 别人在忙挖矿,阿里工程师却悄悄用区块链搞了件大事!

    阿里妹导读 xff1a 当阿里技术遇见区块链 xff0c 会碰撞出什么火花呢 xff1f 天猫进出口技术团队运用区块链技术 xff0c 让每一个进口商品都有了唯一的 身份证 背景 全球溯源计划已成为天猫国际现阶段着重开展实行的战略性方针 x
  • SVM深入理解&人脸特征提取

    目录 一 SVM深入理解1 SVM算法2 重做例子代码 二 人脸特征提取1 采集人脸信息 绘制68个特征点2 给人脸绘制一幅墨镜 三 总结四 参考文献 一 SVM深入理解 1 SVM算法 支持向量机 xff08 support vector
  • 传统优化方法:枚举法、启发式算法和搜索算法

    1 枚举法 枚举出可行解集合内的所有可行解 xff0c 以求出精确最优解 对于连续函数 xff0c 该方法要求先对其进行离散化处理 xff0c 这样就可能因离散处理而永远达不到最优解 当枚举空间比较大时 xff0c 该方法的求解效率比较低
  • Android图形系统的分析与移植--七、双缓冲framebuffer的实现

    1 实现原理 在基本的FrameBuffer已经实现的基础上 xff0c 需要实现的是与Android原本模拟器所使用的goldfish FrameBuffer之间的区别 比较一下不难发现 xff0c 从以下及方面着手 xff1a 1 修改
  • Qt 读写XML文件

    目录 1 常用方法 2 示例 2 1 写文件 2 2 读文件 Qt 对 XML 的读写操作 1 简介 使用XML模块 xff0c 在 pro文件中添加 QT 43 61 xml xff0c 并加如相应的头文件 include lt QtXm
  • 苏嵌15 16.11.16

    Makefile中常用的基本函数 1 subst subset 参数1 参数2 参数3 把参数3中的1替换成参数2 返回被替换的参数3 2 patsubst patsubset 模式参数 参数1 参数2 把参数2中复合模式参数的单词替换成参
  • 用自己的单目&双目相机在ROS 下实现双目ORB_SLAM2

    用自己的双目相机在ROS 下实现双目 ORB SLAM2 参考博客 ROS下单目 SLAM https blog csdn net goding learning article details 52950993 配置ROS 下的 ORB
  • 【Linux】Ubuntu 18.04安装aptitude命令

    在ubuntu18 04 下通过如下命令进行aptitude命令的安装 xff0c span class token function sudo span span class token function apt get span spa
  • 卡尔曼滤波(Kalman Filter)原理理解和测试

    Kalman Filter学原理学习 1 Kalman Filter 历史 Kalman滤波器的历史 xff0c 最早要追溯到17世纪 xff0c Roger Cotes开始研究最小均方问题 但由于缺少实际案例的支撑 xff08 那个时候哪
  • ROS与开发板入门教程-树莓派3源码安装Turtlebot(ubuntu mate 16.04+kinetic+Turtlebot)

    ROS与开发板入门教程 树莓派3源码安装Turtlebot ubuntu mate 16 04 43 kinetic 43 Turtlebot ROS与开发板入门教程 树莓派3源码安装Turtlebot ubuntu mate16 04 4
  • Linux下Node.js和NPM安装和配置

    目录 前言 1 安装Nodejs和NPM 2 NPM的配置 3 nodejs的基本使用 3 1 搭建简易后端服务器 4 npm的基本使用 4 1 搭建vue 2 0开发环境 前言 Nodejs简介 Node js是一个基于Chrome V8