You need to enable JavaScript to run this app. 无需添加yarn/npm前缀 能否直接运行package.json中定义的scripts命令
优惠活动
大模型
产品
解决方案
定价
更多

无需添加yarn/npm前缀 能否直接运行package.json中定义的scripts命令

无需添加yarn/npm前缀直接运行scripts的实现方案

存在可落地的实现方式,以下是不同适用场景的具体方案:

方案1:临时/永久将项目可执行目录加入Shell环境变量

该方案不需要额外配置包或别名,适合在当前项目下快速使用:

  • 临时生效(仅当前终端会话有效):
    如果你使用bash/zsh,在项目根目录执行:
    export PATH="./node_modules/.bin:$PATH"
    如果你使用fish,执行:
    set -x PATH ./node_modules/.bin $PATH
  • 永久生效(所有终端会话都生效):
    将上面对应shell的export命令写入你的shell配置文件(比如~/.zshrc、~/.bashrc),保存后执行source 对应配置文件路径生效。

注意:该配置会优先执行当前工作目录下node/.bin中的可执行文件,存在一定安全风险,建议仅在你信任的项目目录下使用
配置完成后,你就可以在项目根目录直接输入get [arguments]执行对应脚本。


方案2:配置Shell别名固定映射命令

如果你只需要快速执行某个特定项目的固定脚本,可以直接配置Shell别名,全局都可以调用:

  1. 打开你的shell配置文件(~/.zshrc/~/.bashrc等),加入如下内容:
    alias get="yarn --cwd 你的项目根目录绝对路径 get"
  2. 保存后执行source 对应配置文件路径生效。
    之后不管你在哪个目录下,输入get [arguments]都会自动执行对应项目的get脚本。

方案3:将脚本注册为全局可执行命令

如果你的index.js本身是可以全局复用的工具脚本,可以直接将其注册为全局命令:

  1. 在你的package.json中新增bin配置:
{
  "scripts": {
    "get": "node index.js"
  },
  "bin": {
    "get": "./index.js"
  }
}
  1. 在项目根目录执行npm link,系统会自动将你的脚本注册为全局命令。
    之后全局任意位置都可以直接输入get [arguments]执行对应脚本。

内容的提问来源于stack exchange,提问作者Sowam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 21:15:08