npx教程

简介: npx教程

npx 主要用于调用项目内部安装的模块,若本地找不到模块,就会下载同名模块。

比如,本地没有安装http-server模块,下面的命令会自动下载该模块,在当前目录启动一个 Web 服务。

npx http-server

安装(通常安装了node.js即可使用)

npm 从5.2版开始,增加了 npx 命令,万一不能用,就要手动安装一下。

npm install -g npx

使用场景一:调用项目内部安装的模块

如使用npm安装了插件Mocha ,查看Mocha的版本,需用命令

# 项目的根目录下执行
node-modules/.bin/mocha --version

改用npx

npx mocha --version

即npx可以直接调用项目内部安装的模块!

使用场景二:避免全局安装模块

默认  create-react-app 这个模块是全局安装

npx create-react-app my-react-app

npx 将create-react-app下载到一个临时目录,使用以后再删除。以后再次执行上面的命令,会重新下载create-react-app

使用场景三:执行 GitHub 源码

 
# 执行 Gist 代码
$ npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32
 
# 执行仓库代码
$ npx github:piuccio/cowsay hello

注意,远程代码必须是一个模块,即必须包含package.json和入口脚本。

使用场景四:使用不同版本的 node

利用 npx 可以下载模块这个特点,可以指定某个版本的 Node 运行脚本

 
$ npx node@0.12.8 -v
v0.12.8

上面命令会使用 0.12.8 版本的 Node 执行脚本。原理是从 npm 下载这个版本的 node,使用后再删掉。

某些场景下,这个方法用来切换 Node 版本,要比 nvm 那样的版本管理器方便一些。

--no-install参数——强制使用本地模块,不下载远程模块

npx --no-install 模块名

--ignore-existing参数——忽略本地的同名模块,强制安装使用远程模块

npx --ignore-existing 模块名

-p 参数——指定 npx 所要安装的模块

 
$ npx -p node@0.12.8 node -v 
v0.12.8

上面命令先指定安装node@0.12.8,然后再执行node -v命令。

-p参数对于需要安装多个模块的场景很有用。

 
$ npx -p lolcatjs -p cowsay [command]

-c 参数 —— 所有命令都用 npx 解释

  • 功能1:将所有命令都用 npx 解释
  • 功能2:将环境变量带入所要执行的命令

例如执行下方命令,只有第一个可执行项会使用 npx 安装的模块,后面的可执行项还是会交给 Shell 解释。

 
$ npx -p lolcatjs -p cowsay 'cowsay hello | lolcatjs'
# 报错

上面代码中,cowsay hello | lolcatjs执行时会报错,原因是第一项cowsay由 npx 解释,而第二项命令localcatjs由 Shell 解释,但是lolcatjs并没有全局安装,所以报错。

改用-c参数就可以

 
$ npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs'

npm 提供当前项目的一些环境变量,可以用下面的命令查看。

 
$ npm run env | grep npm_

-c参数可以把这些 npm 的环境变量带入 npx 命令。

 
$ npx -c 'echo "$npm_package_name"'


目录
相关文章
|
人工智能 Rust 开发者
【MCP教程系列】使用Python在阿里云百炼创建基于UVX的MCP服务完整指南
本文介绍如何使用基于uvx工具链的Python项目,结合阿里云百炼平台实现小红书文案审核助手的MCP服务开发与部署。首先通过安装uv工具初始化项目并配置虚拟环境,编写server.py文件调用qwen-plus模型完成内容审核功能。随后将项目打包上传至PyPI,供全球开发者访问。接着在阿里云百炼平台上配置并部署该MCP服务,解决可能的依赖问题。最后,在智能体应用中引入此MCP服务进行测试验证,确保其正常运行。
2185 0
|
关系型数据库 MySQL 数据库
n8n自动化工具部署与使用
n8n是一款开源的工作流自动化工具,类似于IFTTT。它的优点是开源、可以自托管、下载安装方便、易于使用,可以互联上百种服务。n8n基于节点能够将任何工具连接在一起,轻松部署不同类型的任务。它可以做很多事情,比如:从数据库中获取数据后下载为excel然后通过邮件发送给其他人。
9527 1
|
缓存 JavaScript 前端开发
高效打造跨平台桌面应用:Electron加载服务器端JS
【9月更文挑战第17天】Electron 是一个基于 Chromium 和 Node.js 的开源框架,允许使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用。加载服务器端 JS 可增强应用灵活性,实现代码复用、动态更新及实时通信。通过 HTTP 请求、WebSocket 或文件系统可实现加载,但需注意安全性、性能和兼容性问题。开发者应根据需求选择合适方法并谨慎实施。
450 3
|
5月前
|
人工智能 弹性计算 运维
阿里云 MCP Server 开箱即用!
本文介绍了如何通过alibaba-cloud-ops-mcp-server和MCP(Model Context Protocol)实现AI助手对阿里云资源的复杂任务操作。内容涵盖背景、准备步骤(如使用VS Code与Cline配置MCP Server)、示例场景(包括创建实例、监控实例、运行命令、启停实例等),以及支持的工具列表和参考文档。借助这些工具,用户可通过自然语言与AI助手交互,完成ECS实例管理、VPC查询、云监控数据获取等运维任务,实现高效“掌上运维”。
|
JSON JavaScript Linux
【MCP教程系列】Node.js+TypeScript搭建NPX MCP服务并自定义部署至阿里云百炼
本文介绍如何将阿里云百炼的工作流封装成MCP服务并部署,随后引入到智能体中使用。主要步骤包括:1) 封装MCP服务;2) 发布到npm官方平台;3) 在阿里云百炼平台创建自定义MCP服务;4) 在智能体中添加自定义MCP服务。通过这些步骤,用户可以轻松将工作流转化为MCP服务,并在智能体中调用。
1864 0
|
5月前
|
人工智能 运维 安全
函数计算支持热门 MCP Server 一键部署
MCP(Model Context Protocol)自2024年发布以来,逐渐成为AI开发领域的实施标准。OpenAI宣布其Agent SDK支持MCP协议,进一步推动了其普及。然而,本地部署的MCP Server因效率低、扩展性差等问题,难以满足复杂生产需求。云上托管成为趋势,函数计算(FC)作为Serverless算力代表,提供一键托管开源MCP Server的能力,解决传统托管痛点,如成本高、弹性差、扩展复杂等。通过CAP平台,用户可快速部署多种热门MCP Server,体验高效灵活的AI应用开发与交互方式。
3139 10
|
5月前
|
安全 API UED
A2A(Agent2Agent) 简介
本文主要介绍Google于2025年4月9日发布的Agent2Agent Protocol(简称“A2A”),这是一个旨在促进不同类型智能体(Agent)之间高效沟通与协作的开放协议。
3273 73
A2A(Agent2Agent) 简介
|
Linux iOS开发 MacOS
【MCP教程系列】阿里云百炼MCP全面配置指南:涵盖NPX、UVX、SSE及Streamable HTTP
本文详细介绍如何在阿里云百炼平台及Windows、Linux、MacOS系统中正确配置MCP服务的JSON文件。内容涵盖三种MCP服务配置:npx(基于Stdio)、uvx(Python工具运行)和SSE(服务器发送事件)。同时解析Streamable HTTP作为新一代传输方案的优势与应用,帮助用户掌握每个参数的具体用途及使用方法,解决配置过程中可能遇到的问题,提供完整示例和扩展信息以优化设置体验。
2241 11