ホステル環境でのNPMパッケージの自動インストールとアップデート

中級

これはEngineering, Building Blocks, IT Ops分野の自動化ワークフローで、7個のノードを含みます。主にSet, SplitOut, N8nTrigger, ManualTrigger, ExecuteCommandなどのノードを使用。 ホスティング環境のNPMパッケージインストール・アップデートを自動化

前提条件
  • 特別な前提条件なし、インポートしてすぐに使用可能
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "2039b9ae6bdd2cfe7f6a132b7dee66390e92afbc2ec29f67cafa1edf6cad8d55"
  },
  "nodes": [
    {
      "id": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
      "name": "libraries_set",
      "type": "n8n-nodes-base.set",
      "position": [
        -520,
        260
      ],
      "parameters": {
        "options": {
          "ignoreConversionErrors": false
        },
        "assignments": {
          "assignments": [
            {
              "id": "ab1fe8b7-6706-4f59-bc39-1f80726d2890",
              "name": "libraries",
              "type": "string",
              "value": "axios,cheerio,node-fetch"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f5f22c1a-704b-47db-9f5e-88feb4db75b8",
      "name": "trigger_manual",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -720,
        260
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "85f6ad54-a991-407e-b018-fedaa7fb3a4d",
      "name": "libraries_array",
      "type": "n8n-nodes-base.set",
      "position": [
        -300,
        260
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6fb15a6a-7cda-4080-a255-10f85d188854",
              "name": "libraries",
              "type": "array",
              "value": "={{ $json.libraries.split(\",\") }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "19caae56-6cb0-4f90-a4e9-533712a09d14",
      "name": "libraries_split",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -100,
        260
      ],
      "parameters": {
        "options": {
          "destinationFieldName": "library"
        },
        "fieldToSplitOut": "libraries"
      },
      "typeVersion": 1
    },
    {
      "id": "fe06a42d-21a1-474a-8442-d703f1664c68",
      "name": "library_install",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        120,
        260
      ],
      "parameters": {
        "command": "=#!/bin/bash\n\n# Get library name from variable\nLIBRARY_NAME=\"{{$json.library}}\"\n\n# Check if library directory exists\nLIBRARY_DIR=\"/home/node/node_modules/$LIBRARY_NAME\"\n\n# Check if library is already installed\nif [ ! -d \"$LIBRARY_DIR\" ]; then\n  echo \"Installing $LIBRARY_NAME...\"\n  npm install \"$LIBRARY_NAME\"\n  \n  # Verify installation\n  if [ -d \"$LIBRARY_DIR\" ]; then\n    echo \"$LIBRARY_NAME was successfully installed.\"\n  else\n    echo \"Failed to install $LIBRARY_NAME. Please check for errors.\"\n    exit 1\n  fi\nelse\n  echo \"$LIBRARY_NAME is already installed at $LIBRARY_DIR.\"\nfi\n",
        "executeOnce": false
      },
      "typeVersion": 1
    },
    {
      "id": "8b31c25c-0076-4c71-ae70-80c73d1b8220",
      "name": "trigger_schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -720,
        100
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a4a07417-00ce-478e-bcf7-3cc9dd0a75fa",
      "name": "trigger_instance",
      "type": "n8n-nodes-base.n8nTrigger",
      "position": [
        -720,
        440
      ],
      "parameters": {
        "events": [
          "init"
        ]
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04": {
      "main": [
        [
          {
            "node": "85f6ad54-a991-407e-b018-fedaa7fb3a4d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f5f22c1a-704b-47db-9f5e-88feb4db75b8": {
      "main": [
        [
          {
            "node": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "85f6ad54-a991-407e-b018-fedaa7fb3a4d": {
      "main": [
        [
          {
            "node": "19caae56-6cb0-4f90-a4e9-533712a09d14",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "19caae56-6cb0-4f90-a4e9-533712a09d14": {
      "main": [
        [
          {
            "node": "fe06a42d-21a1-474a-8442-d703f1664c68",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a4a07417-00ce-478e-bcf7-3cc9dd0a75fa": {
      "main": [
        [
          {
            "node": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8b31c25c-0076-4c71-ae70-80c73d1b8220": {
      "main": [
        [
          {
            "node": "cc07b2ca-27f2-4a0e-92f7-2d0fbc63ab04",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - エンジニアリング, ビルディングブロック, IT運用

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数7
カテゴリー3
ノードタイプ6
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34