You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行添加并更新package.json中的自定义属性?

如何在命令行更新package.json的自定义字段

方法1:使用jq工具(推荐,适合快速操作)

jq是专门处理JSON的命令行工具,操作简单高效。

  1. 先添加自定义字段(比如id: 1):

    jq '.id = 1' package.json > temp.json && mv temp.json package.json
    

    这条命令会读取package.json,添加id字段并设为1,然后覆盖原文件。

  2. 更新字段值为2:

    jq '.id = 2' package.json > temp.json && mv temp.json package.json
    

    如果需要动态传值,还可以用变量:

    NEW_ID=2 && jq --arg id "$NEW_ID" '.id = $id | .id |= tonumber' package.json > temp.json && mv temp.json package.json
    

注意:如果系统没有jq,可以通过npm install -g jq或者系统包管理器(比如brew install jq、apt install jq)安装。

方法2:用Node.js脚本(适合前端项目,无需额外工具)

如果你的项目本身就是Node.js项目,写个简单脚本更方便,还能灵活扩展。

  1. 创建更新脚本:在项目根目录新建update-pkg-id.js,内容如下:

    const fs = require('fs');
    const path = require('path');
    
    const pkgPath = path.resolve(__dirname, 'package.json');
    const pkg = require(pkgPath);
    
    // 获取命令行传入的新id值,默认设为2
    const newId = process.argv[2] ? parseInt(process.argv[2], 10) : 2;
    pkg.id = newId;
    
    // 写入文件,保留原有的缩进格式
    fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
    console.log(`Successfully updated package.json id to ${newId}`);
    
  2. 在package.json中添加脚本命令:
    在scripts字段里加一行:

    "scripts": {
      "update-id": "node update-pkg-id.js"
    }
    
  3. 执行更新:

    • 直接更新为2:npm run update-id
    • 自定义更新值(比如设为3):npm run update-id 3

为什么不用npm version?

npm version是专门用来管理项目版本号(version字段)的工具,仅支持更新和版本相关的内置字段(比如major/minor/patch对应的版本升级),无法直接操作自定义字段,所以需要用上面的方法来实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:52:44