NPM Cache is not working for some modules

I have this workflow. When I run this workflow for first it runs fine and creates a cache. The next time it is run, a cache hit occurs and it skips installing the modules. However, semantic-release works fine but with conventional-changelog it says command not found. Any idea what could be going wrong?

name: Create Release

on:
  push:
    branches:
      - master

jobs:  
  create-release-data:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Repository
        uses: actions/checkout@v2

      - name: Set up Node
        uses: actions/setup-node@v2
        with:
          node-version: 14

      - name: Get NPM Cache directory
        id: npm-cache
        run: |
          echo "::set-output name=dir::$(npm config get cache)"
      
      - name: Cache NPM Dependencies
        id: cache-npm-dependencies
        uses: actions/cache@v2
        with:
          path: ${{ steps.npm-cache.outputs.dir }}
          key: ${{ runner.os }}-node_modules-${{ hashFiles('**/.github/workflows/release.yml') }}
          restore-keys: |
            ${{ runner.os }}-node_modules-
      
      - name: Install Semantic Release NPM Dependencies if not cached
        if: steps.cache-npm-dependencies.outputs.cache-hit != 'true'
        run: |
          npm i -g semantic-release @semantic-release/{commit-analyzer,release-notes-generator} conventional-changelog-cli
          
      - name: Run Semantic Release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          npx semantic-release --repository-url "https://github.com/$GITHUB_REPOSITORY" --branches master --tagFormat \${version} --plugins "@semantic-release/commit-analyzer" "@semantic-release/release-notes-generator" --no-ci --dry-run > temp.txt

      - name: Get Changelog
        run: |
          conventional-changelog -p angular -i CHANGELOG.md -s -r 0