Skip to content

npm ci および npm install が "install" コマンドとして扱われない #455

Open
@nogic1008

Description

@nogic1008

Describe the bug: バグの概要

npm ci コマンドnpm installコマンドと同じような動きをしますが、package-lock.jsonに基づいてより厳密にパッケージのインストールを行います。
そのため、GitHub ActionsのNode.jsテンプレートにもあるように、CI/CD環境でnpm installの代わりとして使われています。

しかしながら、このactionでは、BUILD_COMMANDnpm ciを含めても"install"コマンドとして扱われません。
そのため、不要であるはずのnpm install(およびnpm install --production)コマンドがビルド時に追加されてしまいます。

--ignore-scriptsを明示的に指定する必要がある場合1に、この挙動はビルドプロセスに影響を与えます。

To Reproduce: 再現手順

  1. 以下のようにnpm ciまたはnpm installを含むBUILD_COMMANDを指定する
steps:
  - uses: technote-space/release-github-actions@v8.0.3
    with:
      BUILD_COMMAND: npm ci --ignore-scripts && npm run build

Expected behavior: 期待する動作

  • npm ciBUILD_COMMANDコマンドに含む場合も、デフォルトのnpm installを実行しない

Screenshots: スクリーンショット

  • エラー発生時のログ
    • 余計なnpm install --productionコマンドが実行されてしまったことで、huskyコマンドがないエラーが発生している

Operating environment: バグが発生した環境

  • technote-space/release-github-actions@v8.0.3
  • ubuntu-latest hos runner

Footnotes

  1. huskyを利用している場合など

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions