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

运行@semantic-release/npm插件时出现Cannot find module '../lib/cli.js'错误

解决semantic-release更新package.json版本失败问题

问题背景

配置GitHub Action执行semantic-release更新package.json的version字段,但执行失败,错误提示找不到../lib/cli.js模块,已尝试使用最新版本仍无法解决。

GitHub Action配置

semantic-versioning:
if: inputs.infra_dir != 'prod'
runs-on: ${{ inputs.runs_on }}
steps:
  - name: ⤵️  Checkout repo
    uses: actions/checkout@v3
  - name: "⚙️ Setup Node"
    uses: actions/setup-node@v3
    with:
      node-version: "16"
  - name: Action For Semantic Release
    uses: cycjimmy/semantic-release-action@v3.2.0
    with:
      semantic_version: 19.0.5
      branch: "main"
      extra_plugins: |
        @semantic-release/changelog@6
        @semantic-release/git
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

package.json内容

{
"name": "app",
"version": "0.1.0",
"release": {
    "branches": ["master", "main", "SemVer"],
    "plugins": [
        "@semantic-release/commit-analyzer",
        "@semantic-release/release-notes-generator",
        ["@semantic-release/npm", 
          {
            "npmPublish": false
          }
        ],
        [
          "@semantic-release/changelog",
          {
            "changelogFile": "docs/CHANGELOG.md"
          }
        ],
        [
          "@semantic-release/git",
          {
            "assets": ["docs/CHANGELOG.md"]
          }
        ]
      ]
  }
}

错误日志

Acquiring 16.18.0
[semantic-release] [@semantic-release/npm] › ℹ  Write version 1.1.0 to package.json in /home/ec2-user/actions-runner/_work/test
59 node:internal/modules/cjs/loader:936
60 throw err;
63 Error: Cannot find module '../lib/cli.js'
64 Require stack:
65 - /home/ec2-user/actions-runner/externals.2.299.1/node16/bin/npm
66 at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
67 at Function.Module._load (node:internal/modules/cjs/loader:778:27)
68 at Module.require (node:internal/modules/cjs/loader:1005:19)
69 at require (node:internal/modules/cjs/helpers:102:18)
70 at Object.<anonymous> (/home/ec2-user/actions-runner/externals.2.299.1/node16/bin/npm:2:1)
71 at Module._compile (node:internal/modules/cjs/loader:1101:14)
72 at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
73 at Module.load (node:internal/modules/cjs/loader:981:32)
74 at Function.Module._load (node:internal/modules/cjs/loader:822:12)
75 at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
76 code: 'MODULE_NOT_FOUND',
77 requireStack: [ '/home/ec2-user/actions-runner/externals.2.299.1/node16/bin/npm' ]
78 }
79 [7:07:42 AM] [semantic-release] › ✖  Failed step "prepare" of plugin "@semantic-release/npm"
80 [7:07:42 AM] [semantic-release] › ✖  An error occurred while running semantic-release: Error: Command failed with exit code 1: npm version 1.1.0 --userconfig /tmp/5959228743ee200b6bb8b24654dabd8f/.npmrc --no-git-tag-version --allow-same-version
81 node:internal/modules/cjs/loader:936

解决思路

  • 修复runner的npm环境
    错误指向npm核心模块缺失,说明自托管runner上的Node 16.18.0环境可能损坏。在Setup Node步骤后添加npm重装命令,指定对应Node版本的兼容npm版本:

    - name: 修复npm环境
      run: npm install -g npm@8.19.4
    
  • 调整semantic-release插件配置
    既然不需要发布npm包,可移除@semantic-release/npm插件,直接让@semantic-release/git管理package.json版本更新。修改package.json的release配置,将package.json加入git插件的资产列表:

    [
      "@semantic-release/git",
      {
        "assets": ["docs/CHANGELOG.md", "package.json"]
      }
    ]
    
  • 更换runner环境测试
    如果使用自托管runner,切换到GitHub托管的ubuntu-latest runner,验证问题是否由自托管环境配置导致。

  • 升级Action及插件版本
    将cycjimmy/semantic-release-action升级到最新v4版本,同时使用最新版的semantic-release及相关插件:

    uses: cycjimmy/semantic-release-action@v4
    with:
      semantic_version: 21.0.7
      extra_plugins: |
        @semantic-release/changelog@6.0.3
        @semantic-release/git@10.0.1
    
  • 确保获取完整commit历史
    semantic-release需要完整commit历史分析版本,在checkout步骤添加fetch-depth: 0参数:

    - name: ⤵️  Checkout repo
      uses: actions/checkout@v3
      with:
        fetch-depth: 0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:39:32