首页 > 编程语言 >团队协作如何确保项目Node版本的一致性?

团队协作如何确保项目Node版本的一致性?

时间:2024-02-24 21:22:40浏览次数:25  
标签:Node node package 协作 npm 版本 npmrc 一致性

前言

想必大家在工作过程中都遇到过node版本带来的各种各样的问题,对于团队协作项目,你不能保证所有人的本地node版本都相同,所以在项目文档中往往会写上以下内容:

  • 为与线上环境一致,请保证以下版本
  • node:15.x.x
  • vue-cli:4.4.x

但这样并不能完全避免问题,比如多个不同项目中使用的node版本也有所不同,在来回切换中就可能造成node版本混用,那么应该如何避免这个问题?

package.json

对于前端工程化项目,根目录下都会有一个package.json文件,在该文件中有一个属性engines,它表示声明node环境,如果不指定版本(或者指定*作为版本) ,那么任何版本的node都可以。

"engines": {
  "node": ">=15.0.0"
}

比如这里指定node版本必须大于等于15。

了解更多package.json内容,可以查看这篇文章:熟悉又陌生的package.json

但对于 npm 来讲,但即使许多项目定义了最低 Node.js 版本,此配置也不会强制执行,也就是说它并不会阻止用户的安装操作。

npm

比如node版本限制了大于等于15,而我使用14.19.3的版本来安装依赖

你会发现这样还是能够正常安装,并没有按我们的期待阻止用户安装依赖。

yarn

同样的配置我们再来试试yarn的表现是怎样的?

可以看到同样的配置,yarn的表现是我们想要的效果。如果我们就是想用npm,能否到达同样的效果?

.npmrc

对于npm我们需要在项目根目录下新增.npmrc文件,并且显示启用严格的node引擎处理,如果一个项目包含一个.npmrc定义严格的引擎,那么执行npm install时如果 Node 版本不满足版本要求,安装依赖就会失败。

// .npmrc
engine-strict=true

标签:Node,node,package,协作,npm,版本,npmrc,一致性
From: https://www.cnblogs.com/songyao666/p/18031598

相关文章

  • 安装nvm,并使用nvm管理不同版本的node教程
    安装nvm:1.卸载已安装的node如果你已经安装了node,那么你需要先卸载node,如果你没有安装那直接跳过这一步到下一步。打开控制面板->打开程序和功能->右上角搜索输入node->右键卸载2.安装nvm去github下载最新的nvm,找到nvm-setup.zip,点击下载 选择nvm的安装路径选择node.js......
  • Playwright nodejs切换页面tab
    主要使用下面的代码awaitpage.bringToFront();录制代码时,鼠标点击页面tab的代码没有录制进去,需要手动加上面一行代码完整的代码如下import{test,expect}from'@playwright/test';test('test',async({page})=>{awaitpage.goto('https://www.baidu.com/')......
  • 译:使用现代的 Node.js 构建简单的CLI工具
    原文地址:https://evertpot.com/node-changelog-cli-tool/作者:EvertPot发布时间:2023-02-13只使用Node.js的标准库,不安装任何外部依赖,写一个命令行工具。前言作者是多个开源项目的维护者,长久以来都是手动维护项目的变更日志(changelog)。下面是项目a12n-server的变更日......
  • nvm:npm和node版本冲突以及淘宝证书过期导致的错误
    1.问题1.ERROR:npmv10.4.0isknownnottorunonNode.jsv14.7.0.Thisversionofnpmsupportsthefollowingnodeversions:^18.17.0||>=20.5.0.2.Couldnotretrievehttps://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt2.解决2.1问题一:npm和Node版本......
  • npm i canvas 报错 [email protected] run install node-pre-gyp install --fallback-to-b
    今天在写项目的时候安装npmicanvas的时候一直报错。具体错误如下npmERR!commandfailednpmERR!commandC:\Windows\system32\cmd.exe/d/s/cnode-pre-gypinstall--fallback-to-build--update-binarynpmERR!node-pre-gypinfoitworkedifitendswithoknpmE......
  • 如何安装多个版本的node,再也不用担心版本高低引发的一系列问题
    简介最近好多人都问到node怎么同时安装多个版本?如何配置node的环境变量,如何自如的在多个版本中切换node?还有就是自己在做appium自动化的时候,有时候会因为node的版本过高或者是太低用命令启动appium时候而报错,试了一下是否可以安装一个高版本和低版本的node在一个系统中,你......
  • 图解一致性哈希算法
    一、背景在具体介绍一致性哈希算法之前,先问一个问题:为什么需要一致性哈希算法?下面我们通过一个案例来回答这个问题。假设有这么一种场景:我们有三台缓存服务器分别为:node0、node1、node2,有3000万个缓存数据需要存储在这三台服务器组成的集群中,希望可以将这些数据均匀的缓存到三台......
  • hexo启动依赖问题,node npm版本过低
    调整:安装nvm工具,切换高一点版本,本例为v18.19.1。(安装示例的14.17未通过)做预先的升级工作:sudoaptupdatesudoaptupgradecurl-o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh|bash生效命令:source~/.bashrc查看版本:nvmls-remote删除npm缓存......
  • windows node管理工具nvm
    nvm全名node.jsversionmanagement,是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。首先最重要的是:一定要卸载已安装的NodeJS,否则会发生冲突。 卸载程序确保在Node.js没有在后台运行的情况下,进行卸载。可以先打开软件,关闭后到控制面板中找到node.js......
  • CentOS7安装nodejs18
    CentOS7安装nodejs18及以上版本会报错,glibc版本过低。升级glibc到2.28。查看glibc版本号#ldd--version1、下载glibc2.28并创建build目录cdwgethttp://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gztarxfglibc-2.28.tar.gzcdglibc-2.28/mkdirbuild2、升级gccyuminstall-y......