Azure DevOps Server 的连接源(Artifacts):七、NPM 基础知识

Azure DevOps Server 的连接源(Artifacts):一、概述 1. 什么是Artifacts连接源?Azure DevOps Server 中,Artifacts连接源是用于存储、管理和分享程序包的容器。它不仅可以用来存储项目开发中的依赖包,例如maven、npm、nuget和python,还可以存储通用类型的数据。在DevOps的实践推广过程中,大部分用户还是用定于与依赖包的私服服务器,特别是一些对网络安全比较看重的用户,基本上把它当作Nexus私服来使... 阅读详情

1. 镜像服务器

在继续后面使用Azure DevOps Server使用npm连接源之前,需要首先熟悉npm的一些基本操作知识。

  • 得到原本的镜像地址
npm get registry
  • 将镜像服务器修改为淘宝
npm config set registry http://registry.npm.taobao.org/
  • 将镜像服务器修改为官方地址
npm config set registry http://registry.npmjs.org/

注意,连接国内淘宝服务器速度较快

  • 查询本地全局包的地址
npm config get prefix

C:\Users\zhang\AppData\Roaming\npm

2. 初始化项目

npm init

cmd中进入到该目录下。
开始初始化项目:npm init
这样初始化之后,项目目录下会自动生成一个package.json文件。
注意的是,npm init命令后,npm会询问你一系列问题,当你填入答案后才会正式结束初始化,如果不太想自定义一些关于项目的描述,可以不敲npm init,而是直接敲npm init --yes

命令行中将会提示 package.json 字段中需要你输入的值。
名称(name) 和 版本(version) 这两个字段是必填的。
你还需要输入 入口文件字段(main) 字段,默认值是 index.js。

  • Package.json 属性说明
    • name - 包名。
    • version - 包的版本号。
    • description - 包的描述。
    • homepage - 包的官网 url 。
    • author - 包的作者姓名。
    • contributors - 包的其他贡献者姓名。
    • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
    • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
    • main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
    • keywords - 关键字

3. npm install 下载安装和卸载依赖包

当前项目
  • 示例,在当前目录中安装和卸载jquery(本地)
npm install jquery --save

jquery下载到了当前目录的node_modules目录下
同时,在项目文件package.json中添加了对应的依赖

"dependencies": {
    "jquery": "^3.6.0"
  }

在当前项目目录中,运行下面的命令,将从当前目录node_modules删除依赖包,并在项目文件package.json中移除对应的依赖代码

npm uninstall jquery
  • 示例,查看当前项目的依赖包
D:\temp\npm-sample>npm ls
npm-sample@1.0.0 D:\temp\npm-sample
+-- express@4.17.3
| +-- accepts@1.3.8
| | +-- mime-types@2.1.34
| | | `-- mime-db@1.51.0
| | `-- negotiator@0.6.3
| +-- array-flatten@1.1.1
| +-- body-parser@1.19.2
| | +-- bytes@3.1.2
| | +-- content-type@1.0.4 deduped
| | +-- debug@2.6.9 deduped
| | +-- depd@1.1.2 deduped
| | +-- http-errors@1.8.1
| | | +-- depd@1.1.2 deduped
| | | +-- inherits@2.0.4
| | | +-- setprototypeof@1.2.0 deduped
| | | +-- statuses@1.5.0 deduped
| | | `-- toidentifier@1.0.1
| | +-- iconv-lite@0.4.24
| | | `-- safer-buffer@2.1.2
| | +-- on-finished@2.3.0 deduped
| | +-- qs@6.9.7 deduped
| | +-- raw-body@2.4.3
| | | +-- bytes@3.1.2 deduped
| | | +-- http-errors@1.8.1 deduped
| | | +-- iconv-lite@0.4.24 deduped
| | | `-- unpipe@1.0.0 deduped
| | `-- type-is@1.6.18 deduped
| +-- content-disposition@0.5.4
| | `-- safe-buffer@5.2.1 deduped
| +-- content-type@1.0.4
| +-- cookie@0.4.2
| +-- cookie-signature@1.0.6
| +-- debug@2.6.9
| | `-- ms@2.0.0
| +-- depd@1.1.2
| +-- encodeurl@1.0.2
| +-- escape-html@1.0.3
| +-- etag@1.8.1
| +-- finalhandler@1.1.2
| | +-- debug@2.6.9 deduped
| | +-- encodeurl@1.0.2 deduped
| | +-- escape-html@1.0.3 deduped
| | +-- on-finished@2.3.0 deduped
| | +-- parseurl@1.3.3 deduped
| | +-- statuses@1.5.0 deduped
| | `-- unpipe@1.0.0
| +-- fresh@0.5.2
| +-- merge-descriptors@1.0.1
| +-- methods@1.1.2
| +-- on-finished@2.3.0
| | `-- ee-first@1.1.1
| +-- parseurl@1.3.3
| +-- path-to-regexp@0.1.7
| +-- proxy-addr@2.0.7
| | +-- forwarded@0.2.0
| | `-- ipaddr.js@1.9.1
| +-- qs@6.9.7
| +-- range-parser@1.2.1
| +-- safe-buffer@5.2.1
| +-- send@0.17.2
| | +-- debug@2.6.9 deduped
| | +-- depd@1.1.2 deduped
| | +-- destroy@1.0.4
| | +-- encodeurl@1.0.2 deduped
| | +-- escape-html@1.0.3 deduped
| | +-- etag@1.8.1 deduped
| | +-- fresh@0.5.2 deduped
| | +-- http-errors@1.8.1 deduped
| | +-- mime@1.6.0
| | +-- ms@2.1.3
| | +-- on-finished@2.3.0 deduped
| | +-- range-parser@1.2.1 deduped
| | `-- statuses@1.5.0 deduped
| +-- serve-static@1.14.2
| | +-- encodeurl@1.0.2 deduped
| | +-- escape-html@1.0.3 deduped
| | +-- parseurl@1.3.3 deduped
| | `-- send@0.17.2 deduped
| +-- setprototypeof@1.2.0
| +-- statuses@1.5.0
| +-- type-is@1.6.18
| | +-- media-typer@0.3.0
| | `-- mime-types@2.1.34 deduped
| +-- utils-merge@1.0.1
| `-- vary@1.1.2
`-- jquery@3.6.0

其他对依赖包的目录,参考如下:

  • 查看全局目录中安装的依赖包:npm ls -g
  • 查看特定的依赖包:npm ls <package name>
  • 更新依赖包:npm update <package name>
全局目录
  • 示例,将express安装到全局目录中(全局)、卸载
    下面的命令将依赖包安装到了全局目录中:C:\Users\zhang\AppData\Roaming\npm\node_modules
npm install express -g

下面的命令将从全局目录中删除依赖包express

npm uninstall express –g
熟悉了上面的这些基本操作以后,我们就可以继续后面的内容了。

4. 相关文章

如果需要,你还可以从微软Azure DevOps Server 的在线文档,查询更多的权威资料,也欢迎通过下面的联系方式与我沟通,相互学习,相互提高!


https://www.cnblogs.com/danzhang
Azure DevOps MVP 张洪君在这里插入图片描述


Azure DevOps Server 的连接源(Artifacts):八、npm发布和安装包 1. 概述本文主要介绍如何基于Azure DevOps Server的Artifacts连接源,实现nodejs依赖包的下载、发布管理;使用Azure DevOps Server的Artifacts模块作为企业内网的npm私服。2. 前期准备2.1 更改连接源方法一:安装了node后,系统默认的连接源是npmjs.org ,需要我们手动将本地计算机的连接源设置为DevOps Server中的一个... 阅读详情

相关推荐

Azure DevOps 通用包管理(Universal Artifacts)

1. 概述Universal packages通用包功能是Azure DevOps Server 2020开始添加到产品中的,主要用于各种软件开发编译依赖包(例如NuGet, npm, Maven, 或Python等)之外的软件包管理,例如普通的压缩文件包zip、镜像文件iso、或一个文件夹中的所有文件等。比起Maven,Npm和NuGet等,通用包管理是Azure DevOps中所有包中最简单...

Azure DevOps Server(原名TFS) 493

Azure DevOps —— Azure Artifacts 包管理平台

Azure Artifacts 其实就是你自己的包管理服务。就好比现有的 maven(java)、nuget(.net)、pip(python)、npm(javascript) 等等这种包管理服务。 很多时候企业级的包,不会也不可能让你放到公共平台上,所以企业内部需要搭建自己的包管理平台。因此 Azure Artifacts 就是这么一个服务平台。 什么叫包管理 包(Artifacts),正确翻译...

不忘初心 7025

Azure DevOps Server 的连接源(Artifacts):五、python包管理pip和twine

1. 安装artifacts-keyring参考:https://pypi.org/project/artifacts-keyringartifacts-keyring是程序包keyring的扩展,它为用户连接Azure DevOps Server的连接源提供认证服务。用户使用pip或者twwin连接Azure DevOps Server的Artifacts,都需要使用这个组件。安装artifa...

Azure DevOps Server(原名TFS) 444

Azure DevOps 详解(三)

每个开发者很可能都在代码中使用过第三方或开源包,以增加额外的功能并加快应用程序开发过程。使用社区已使用并测试过的流行的预构建组件,将帮助你更轻松地完成工作。在你的组织中,由不同团队构建的功能、脚本和代码经常被其他团队和不同的软件开发项目重用。这些不同的工件可以被移动到一个库或包中,以便其他人也能从中受益。有多种方式可以构建和托管这些包。例如,你可以使用 NuGet 托管和管理 Microsoft 开发平台的包,或使用 npm 托管 JavaScript 包,Maven 托管 Java 包等等。

龙哥盟 2535

Azure DevOps Server 的连接源(Artifacts):九、vue示例和自动打包

1. 概述Vue是一个基于Nodejs的前端框架,目前被广泛应用于前后端分离的前端开发中。本文演示结合Azure DevOps Server,使用vue快速创建一个web前端应用,并实现自动编译和打包。2. 环境准备参考前面的章节《npm 基础》中的说明,配置npm环境,并使用淘宝镜像作为包文件的连接源3. 创建vue示例应用3.1 在全局目录中安装vue-clinpm install vue-...

Azure DevOps Server(原名TFS) 542

Azure DevOps 五大服务实战:CI/CD 流水线从零落地指南

CI/CD 是现代软件交付的核心范式,其本质是通过自动化流程实现代码提交到生产部署的可靠闭环。其原理依赖于源码管理、构建、测试、制品管理与环境部署等能力的协同编排,技术价值在于缩短反馈周期、降低发布风险、提升团队协作效率。典型应用场景包括中型 SaaS 应用的主干开发(Trunk-Based Development)、多环境灰度发布、跨微服务契约测试集成及内部 NuGet 包治理。本文聚焦 Azure DevOps 平台,深度解析 Boards、Repos、Pipelines、Test Plans 和 Ar

weixin_30896825的博客 258

Azure DevOps Server 的连接源(Artifacts):六、发布python程序(Twine pip)

1. 发布Python程序包一般我们都是用Twine作为Python程序包的发布工具,这个工具比较简单,只需要在用户主目录中配置.pypirc文件,指定私服地址即可,下面是一个简单的示例。1.1 在用户主目录(C:\users\devservice)中创建一个文件.pypirc,内容如下[distutils] index-servers = local [local] repository:...

Azure DevOps Server(原名TFS) 442

GitHub替代方案全解析:从GitLab到Gitea的选型与迁移指南

在软件开发和DevOps领域,代码托管平台是团队协作和持续交付的核心基础设施。其核心原理是基于分布式版本控制系统Git,为开发者提供代码存储、版本管理、协作审查和自动化流水线等能力。这类平台的技术价值在于标准化开发流程、保障代码质量、实现高效协作,并支撑从代码提交到部署上线的DevOps全链路。常见的应用场景包括开源项目管理、企业私有代码库托管、自动化测试与部署等。随着团队对数据主权、访问速度、成本控制和功能集成的需求日益多样化,单一平台可能无法满足所有场景。因此,评估和选择替代方案成为一项重要的工程实践。

weixin_34130389的博客 388

Azure DevOps Server 的连接源(Artifacts):三、从Artifacts中下载Nuget包

1. Nuget.exe 安装依赖包将 nuget.config 文件添加到你的项目(在与 .csproj 或 .sln 文件相同的文件夹中)<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key=...

Azure DevOps Server(原名TFS) 453

GitHub替代方案全解析:从GitLab到Gitee,构建稳定自主的开发工作流

在软件开发领域,代码托管与协作平台是支撑团队高效交付的核心基础设施。其核心原理是基于分布式版本控制系统(如Git)构建,通过仓库管理、分支模型和协作工具(如Pull Request)来协调多人开发。这类平台的技术价值在于保障代码安全、提升协作效率并实现开发流程自动化。随着团队对数据主权、访问稳定性及特定工作流集成的需求日益增长,单一平台依赖可能带来风险。因此,探索主流替代方案(如GitLab、Gitea、Bitbucket、Gitee等)成为构建健壮开发体系的关键。这些方案覆盖了从企业级一体化DevOps平

weixin_33923762的博客 358

企业内网安全获取开源包的三层代理架构

开源包管理是现代软件研发的基础能力,其核心在于解决依赖分发的可靠性、一致性和安全性问题。原理上,需在防火墙策略约束下实现对外源的安全代理、对内请求的可控分发与对包内容的真实性校验。技术价值体现在规避白名单泛化风险、降低供应链攻击面、支撑多语言统一治理。典型应用场景包括金融、制造等强合规行业中的CI/CD流水线、本地开发环境和私有云基础设施。本文聚焦于Corporate Firewalls与Open-Source Packages协同下的Safely落地实践,详解三层隔离架构如何将信任从网络层迁移至数据层。

weixin_34159110的博客 426

Azure DevOps Server 的连接源(Artifacts):四、python基础(Django、Flask)

1. VS Code调试开发Django1.1 什么是DjangoDjango是一个基于Python的开放源代码的Web应用框架。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名...

Azure DevOps Server(原名TFS) 270

嵌入式存储实战:FAL+SFUD+flashDB三件套在STM32上的完整移植指南(附避坑技巧)

本文提供了一套在STM32上完整移植FAL、SFUD与flashDB嵌入式存储框架的实战指南。详细解析了从SPI驱动配置、SFUD设备识别、FAL抽象层分区到flashDB键值数据库初始化的全流程,并分享了关键的避坑技巧与性能优化建议,帮助开发者构建稳定可靠的嵌入式存储系统。

rnn9storyteller的博客 1017

你好,Azure DevOps Server 2019;再见,Team Foundation Server

微软正式发布Azure DevOps Server 2019的第一个版本,作为Team Foundation Server (TFS)2018的升级版本和替代产品。这是目前市面上唯一一款将产品名称冠上DevOps的企业级软件研发平台产品。产品名称的变化,强化了微软在研发运维工具上的投入,体现了微软研发管理平台产品在软件开发管理、质量管理和自动化交付和测试方面的巨大提升。作为TFS系统的下一代产品,...

weixin_30352645的博客 1030

一文入门Qwen-Agent【附实战代码】

Qwen-Agent 是一个开源框架,用于开发基于 Qwen 模型的 AI 智能体应用,一文带你入门使用

m0_55303420的博客 1875

将机器人urdf模型转换为Mujoco环境下的mjcf模型

在使用gym环境进行人形模型站立训练的过程中,我想要将之前ros环境下的机器人urdf模型导入到mujoco环境下,这时候就需要将urdf模型转换为mujoco专用的mjcf模型。-AzureLoong.urdf是机器人模型(我这里使用青龙的模型);--custom_robot.xml是转换完成之后的机器人模型的名字和格式;包要求 Python 版本必须是 3.11 或更高),保证自己的其他训练环境和依赖不被干扰。首先将meshes文件迁移到需要输出的目录下,然后再运行转换命令。最后就可以成功输出了。

weixin_44334573的博客 3761

DevOps落地实战:从拧螺丝到建传送带的七步法

DevOps不是抽象的文化口号,而是将软件交付重构为可度量、可验证、可回滚的工程实践。其本质在于重新定义‘完成’——从代码提交延伸至全链路验证与用户可交付状态;核心价值在于通过自动化流水线、环境一致性、结构化可观测性与分层安全嵌入,显著降低发布风险、缩短MTTR、释放工程师创造力。典型应用场景覆盖金融、电商、SaaS等高可用业务系统,尤其在AI模型CI/CD、混合云部署、灰度发布与混沌工程中成为数字交付的底层操作系统。本文聚焦真实产线中‘服务器报警时该按哪个按钮’的硬核经验。

weixin_30907935的博客 328

OTN设备核心知识速记

本文章为工作笔记,若有错误,还需大家指正。不定期更新。

Hiddengold的博客 2650

AG Kit与云服务集成:部署AI Agent到AWS/Azure/GCP的完整指南

AG Kit是一个模块化AI Agent工具包(Modular AI Agent Toolkit),它提供了强大的工作流和自动化能力,让开发者能够轻松构建、测试和部署AI驱动的应用。本文将详细介绍如何将AG Kit开发的AI Agent无缝部署到三大主流云平台——AWS、Azure和GCP,帮助你快速实现生产环境的可靠运行。 [![AG Kit模块化AI Agent工具包](https://ra

gitblog_01003的博客 729

WinForm轻松打造AntDesign现代化工具栏

摘要: 本文介绍如何在WinForm中利用AntdUI库实现AntDesign风格工具栏,包括安装配置、动态生成按钮/下拉菜单、布局优化及主题美化。通过AntButton、AntDropdown等控件结合事件绑定,可快速构建支持图标、工具提示、权限控制的现代化工具栏,并解决常见图标加载、布局错乱问题。最后提供代码示例与响应式设计技巧,助你打造高效美观的WinForm界面。 (字数:150)

java专栏 1595

论文阅读:NeurIPS 2024 JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Model

论文指出评估越狱攻击存在挑战,如缺乏评估标准、成本和成功率计算方法不一致、许多研究无法复现。为解决这些问题,作者提出了JailbreakBench,这是一个开源基准测试,包含以下组件:持续更新的越狱提示库(jailbreak artifacts)。包含100种行为的越狱数据集,符合OpenAI的使用政策。标准化的评估框架,包括威胁模型、系统提示、聊天模板和评分函数。跟踪各种LLMs攻击和防御性能的排行榜。

CSPhD-winston的博客 1433

从理念到实践:构建高效DevOps工具链与CI/CD流水线全指南

在软件工程领域,持续集成与持续部署(CI/CD)是提升软件交付效率与质量的核心实践。其原理在于通过自动化工具链,将代码的集成、测试、部署等环节串联成一条标准化的流水线,从而减少人工干预,实现快速、可靠的软件发布。这一实践的技术价值在于显著缩短了从代码提交到功能上线的周期,降低了部署风险,并增强了团队协作。其应用场景广泛覆盖了从初创公司到大型企业的各类技术团队,是现代敏捷开发和云原生架构的基石。本文聚焦于如何将这一理念落地,详细阐述了以GitLab CI、Kubernetes、Terraform等为代表的工具

weixin_33845881的博客 360

【CAD】【手把手带你写一个DXF&JAVA解析框架】02——整理DXF元数据实体类,涵盖重要属性与对照组码

本文系统梳理了DXF文件解析中的核心元数据类,重点分析了Tables段(图层、块记录)、Blocks段和Entities段的关键数据结构。通过详细的组码说明和对照代码实现,阐述了图层定义(DXFLayer)、块记录(DXFBlockRecord)、应用程序标识(DXFAppId)等表对象的属性构成;同时解析了直线(DXFLine)、多段线(DXFLwPolyLine)、圆弧(DXFArc)、文字(DXFText)等实体类的几何特征与属性定义。文章还构建了顶点(Vertex)、基类(DXFEntity、DXF

Wonder ZH 270

打造 DevSecOps:以 Dependency-Check 为核心的安全实践指南

本文涵盖了 Dependency-Check 从入门到精通、从单一工具到 DevSecOps 实践的完整内容。如需针对特定场景的深入探讨,欢迎进一步交流。

7DGroup,让技术更有价值! 1706

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

GitCode 每日开源项目推荐:中小开发者必备工具完整实战指南

项目名称核心亮点推荐指数适合人群AtomCode终端 AI 代理,支持多模型,安全可控⭐⭐⭐⭐⭐命令行爱好者、追求自由的开发者顶级推理能力,百万上下文⭐⭐⭐⭐算法工程师、高阶 AI 应用开发者长文本理解强,智能体任务流畅⭐⭐⭐⭐企业知识库构建者、Agent 开发者GLM-5.1超长程任务,自主编码能力强⭐⭐⭐⭐⭐全栈开发者、有旧项目迁移需求的团队Kimi-K2.6多模态(图/文/视频),群体任务编排⭐⭐⭐⭐前端开发者、数据处理工程师。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 526

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: Azure DevOps Server 的连接源(Artifacts):六、发布python程序(Twine pip)
下一篇: Azure DevOps Server 的连接源(Artifacts):八、npm发布和安装包
Azure DevOps
博客等级 码龄6年 219粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值