{"id":2879,"date":"2023-12-08T11:23:48","date_gmt":"2023-12-08T02:23:48","guid":{"rendered":"https:\/\/oidema-jp.com\/media\/?p=2879"},"modified":"2024-03-25T23:50:36","modified_gmt":"2024-03-25T14:50:36","slug":"nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89","status":"publish","type":"post","link":"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/","title":{"rendered":"Nuxt3 x Docker\u74b0\u5883\u306e\u69cb\u7bc9\uff08\u6700\u65b0\u7248\uff09\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3042\u308a\u307e\u3059\u3002"},"content":{"rendered":"\n<p>Nuxt3\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u9032\u3081\u3066\u304a\u308a\u307e\u3059\u304c\u3001\u305d\u306e\u969b\u306b\u7c21\u5358\u306adocker\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u305f\u306e\u3067\u5171\u6709\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E3%81%8A%E6%80%A5%E3%81%8E%E3%81%AE%E6%96%B9%E3%81%AF%E3%81%93%E3%81%A1%E3%82%89%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9C%80%E5%88%9D%E3%81%AB%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84\" >\u304a\u6025\u304e\u306e\u65b9\u306f\u3053\u3061\u3089\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u6700\u521d\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304f\u3060\u3055\u3044<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E7%92%B0%E5%A2%83\" >\u74b0\u5883<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E2%91%A0%E3%81%BE%E3%81%9A%E3%81%AFNuxtjs%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82\" >\u2460\u307e\u305a\u306fNuxtjs\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E2%91%A1%E6%AC%A1%E3%81%ABnode%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99\" >\u2461\u6b21\u306bnode\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E2%91%A2Docker%E3%81%A7%E3%81%AENodejs%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89\" >\u2462Docker\u3067\u306eNode.js\u74b0\u5883\u306e\u69cb\u7bc9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E2%91%A3docker-composeyml%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\" >\u2463docker-compose.yml\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E3%81%AA%E3%81%9CDockerfile%E3%81%A8docker-composeyml%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%88%86%E3%81%91%E3%82%8B%E3%81%AE%EF%BC%9F\" >\u306a\u305cDockerfile\u3068docker-compose.yml\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u3051\u308b\u306e\uff1f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E9%81%AD%E9%81%87%E3%81%99%E3%82%8B\" >\u30a8\u30e9\u30fc\u306b\u906d\u9047\u3059\u308b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#entrypointsh\" >entrypoint.sh<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%BA%E5%8A%9B%E3%82%82%E8%A8%98%E8%BC%89%E3%81%97%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82\" >\u30a8\u30e9\u30fc\u51fa\u529b\u3082\u8a18\u8f09\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/oidema-jp.com\/media\/nuxt3-x-docker%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b%e7%af%89%ef%bc%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89\/#%E3%81%93%E3%81%93%E3%81%BE%E3%81%A7%E3%81%8D%E3%81%9F%E3%82%89%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%EF%BC%81\" >\u3053\u3053\u307e\u3067\u304d\u305f\u3089\u52d5\u4f5c\u3057\u307e\u3059\uff01<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"i-0\"><span class=\"ez-toc-section\" id=\"%E3%81%8A%E6%80%A5%E3%81%8E%E3%81%AE%E6%96%B9%E3%81%AF%E3%81%93%E3%81%A1%E3%82%89%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9C%80%E5%88%9D%E3%81%AB%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84\"><\/span>\u304a\u6025\u304e\u306e\u65b9\u306f\u3053\u3061\u3089\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u6700\u521d\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304f\u3060\u3055\u3044<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u3068\u308a\u3042\u3048\u305a\u30d6\u30ed\u30b0\u306e\u8a18\u4e8b\u306f\u3069\u3063\u3061\u3067\u3082\u826f\u3044\u304b\u3089Docker\u74b0\u5883\u3092\u52d5\u4f5c\u3055\u305b\u305f\u3044\u3068\u3044\u3046\u65b9\u306fgitHub\u3078\u76f4\u63a5\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n<div id=\"sgb-css-id-1\">\n<p class=\"wp-block-sgb-btn sng-align-center\"><a style=\"background-color:var(--sgb-pastel-color)\" class=\"btn cubic2 shadow raised\" href=\"https:\/\/github.com\/OIDEMA\/nuxt-docker\" target=\"_blank\" rel=\"noopener noreferrer\">gitHub\u3078<\/a><\/p>\n<\/div>\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8714466162539622\" crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-8714466162539622\" data-ad-slot=\"3806477513\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\"><span class=\"ez-toc-section\" id=\"%E7%92%B0%E5%A2%83\"><\/span>\u74b0\u5883<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MacOS\uff1aSonoma 14.1.1<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\"><span class=\"ez-toc-section\" id=\"%E2%91%A0%E3%81%BE%E3%81%9A%E3%81%AFNuxtjs%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82\"><\/span>\u2460\u307e\u305a\u306fNuxtjs\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n$ npx nuxi@latest init nuxt-docker\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\"><span class=\"ez-toc-section\" id=\"%E2%91%A1%E6%AC%A1%E3%81%ABnode%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99\"><\/span>\u2461\u6b21\u306bnode\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n$ mkdir node\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"i-4\"><span class=\"ez-toc-section\" id=\"%E2%91%A2Docker%E3%81%A7%E3%81%AENodejs%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89\"><\/span>\u2462Docker\u3067\u306eNode.js\u74b0\u5883\u306e\u69cb\u7bc9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: yaml; title: ; notranslate\" title=\"\">\nFROM node:20.10.0-slim\n\nENV TZ Asia\/Tokyo\n\nWORKDIR \/app\n\nRUN apt-get update \\\n    &amp;&amp; apt-get install -y\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"i-5\"><span class=\"ez-toc-section\" id=\"%E2%91%A3docker-composeyml%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><\/span>\u2463docker-compose.yml\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: yaml; title: ; notranslate\" title=\"\">\nversion: '3.9'\n\nservices:\n  nuxt:\n    container_name: nuxt\n    build: .\/node\n    volumes:\n      - .\/:\/app\n    ports:\n      - \"3000:3000\"\n      - \"24678:24678\"\n    tty: true\n    environment:\n      - HOST=0.0.0.0\n      - port=3000\n      - CHOKIDAR_USEPOLLING=true\n    command: .\/entrypoint.sh\n<\/pre><\/div>\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8714466162539622\" crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-8714466162539622\" data-ad-slot=\"3806477513\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\"><span class=\"ez-toc-section\" id=\"%E3%81%AA%E3%81%9CDockerfile%E3%81%A8docker-composeyml%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%88%86%E3%81%91%E3%82%8B%E3%81%AE%EF%BC%9F\"><\/span>\u306a\u305cDockerfile\u3068docker-compose.yml\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u3051\u308b\u306e\uff1f<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><code>docker-compose.yml<\/code>\u3067\u306fapt-get\u306a\u3069\u306e\u30b3\u30de\u30f3\u30c9\u304c\u5b9f\u884c\u3067\u304d\u306a\u3044\u305f\u3081\u5206\u3051\u308b\u306e\u304c\u901a\u4f8b\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u2191\u500b\u4eba\u7684\u306a\u611f\u60f3\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-7\"><span class=\"ez-toc-section\" id=\"%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E9%81%AD%E9%81%87%E3%81%99%E3%82%8B\"><\/span>\u30a8\u30e9\u30fc\u306b\u906d\u9047\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>2023\u5e7412\u67088\u65e5\u306b\u3053\u3061\u3089\u306e\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u3066\u3044\u308b\u3068Nuxt\u3092\u8d77\u52d5\u3059\u308b\u969b\u306b\u30b9\u30af\u30b7\u30e7\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u906d\u9047\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e76fc703173&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e76fc703173\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"183\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1-1024x183.png\" alt=\"ERROR  [unhandledRejection] Cannot find module @rollup\/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (https:\/\/github.com\/npm\/cli\/issues\/4828). Please try npm i again after removing both package-lock.json and node_modules directory.\nnuxt  | \nnuxt  |   at requireWithFriendlyError (node_modules\/rollup\/dist\/native.js:64:9)\" class=\"wp-image-2892\" srcset=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1-1024x183.png 1024w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1-300x54.png 300w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1-768x137.png 768w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1-1536x274.png 1536w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1-940x168.png 940w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-1.png 1984w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"\u62e1\u5927\u3059\u308b\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<div class=\"wp-block-sgb-sanko\"><a href=\"https:\/\/github.com\/npm\/cli\/issues\/4828\" class=\"sgb-e-link sgb-e-link--horizontal sgb-e-link--left\" target=\"_blank\" rel=\"noopener noreferrer\"><div class=\"sgb-e-link__image\"><img decoding=\"async\" src=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/sng\/04930d85f0b7df2c676da5b9031230ad.\" class=\"sgb-e-link__img\" alt=\"\"><\/div><div class=\"sgb-e-link__text\"><span class=\"sgb-e-link__catchy\">\u53c2\u8003<\/span><div class=\"sgb-e-link__title\">[BUG] Platform-specific optional dependencies not being included in `package-lock.json` when reinstalling with `node_modules` present \u00b7 Issue #4828 \u00b7 npm\/cli<\/div><div class=\"sgb-e-link__sitename\">GitHub<\/div><\/div><\/a><\/div>\n\n\n\n<p>\u3053\u306e\u30a8\u30e9\u30fc\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306b\u306f\u3001<code>package-lock.json<\/code>\u3068<code>node_modules<\/code>\u3092\u524a\u9664\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6 <code>npm install<\/code> \u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001<code>entrypoint.sh<\/code>\u3092\u7528\u610f\u3057\u3066\u3053\u3061\u3089\u3092\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u5bfe\u5fdc\u3059\u308b\u3053\u3068\u3067\u3001\u554f\u984c\u304c\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8714466162539622\" crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-8714466162539622\" data-ad-slot=\"3806477513\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-8\"><span class=\"ez-toc-section\" id=\"entrypointsh\"><\/span>entrypoint.sh<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n#!\/bin\/sh\n\nrm -rf package-lock.json node_modules\n\n# \u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nnpm i\n\n# npm run dev \u3092\u5b9f\u884c\nnpm run dev\n<\/pre><\/div>\n\n\n<p>entrypoint.sh\u3092\u4f5c\u6210\u3057\u3066\u3001<code>docker build<\/code>\u3092\u884c\u3046\u3068\u3001permission error\u3067\u6012\u3089\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"138\" src=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-2.png\" alt=\"\" class=\"wp-image-2896\" srcset=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-2.png 714w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-2-300x58.png 300w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\"><\/figure>\n\n\n\n<p>Permission Error\u306b\u906d\u9047\u3057\u305f\u5834\u5408\u306f\u3001\u4e0b\u8a18\u306e\u30b3\u30de\u30f3\u30c9\u3092\u30ed\u30fc\u30ab\u30ebPC\u74b0\u5883\u3067\u5b9f\u884c\u3057\u3066\u3001\u5b9f\u884c\u6a29\u9650\u3092\u4e0e\u3048\u3066\u3042\u3052\u308b\u3053\u3068\u3067\u554f\u984c\u304c\u89e3\u6c7a\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nchmod +x entrypoint.sh\n<\/pre><\/div>\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8714466162539622\" crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-8714466162539622\" data-ad-slot=\"3806477513\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-9\"><span class=\"ez-toc-section\" id=\"%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%BA%E5%8A%9B%E3%82%82%E8%A8%98%E8%BC%89%E3%81%97%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82\"><\/span>\u30a8\u30e9\u30fc\u51fa\u529b\u3082\u8a18\u8f09\u3057\u3066\u304a\u304d\u307e\u3059\u3002<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: powershell; auto-links: false; title: ; notranslate\" title=\"\">\nnuxt  |  ERROR  [unhandledRejection] Cannot find module @rollup\/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (https:\/\/github.com\/npm\/cli\/issues\/4828). Please try npm i again after removing both package-lock.json and node_modules directory.\nnuxt  | \nnuxt  |   at requireWithFriendlyError (node_modules\/rollup\/dist\/native.js:64:9)\nnuxt  |   at Object.&lt;anonymous&gt; (node_modules\/rollup\/dist\/native.js:73:48)\nnuxt  |   at Module._compile (node:internal\/modules\/cjs\/loader:1356:14)\nnuxt  |   at Module._extensions..js (node:internal\/modules\/cjs\/loader:1414:10)\nnuxt  |   at Module.load (node:internal\/modules\/cjs\/loader:1197:32)\nnuxt  |   at Module._load (node:internal\/modules\/cjs\/loader:1013:12)\nnuxt  |   at ModuleWrap.&lt;anonymous&gt; (node:internal\/modules\/esm\/translators:202:29)\nnuxt  |   at ModuleJob.run (node:internal\/modules\/esm\/module_job:195:25)\nnuxt  |   at async ModuleLoader.import (node:internal\/modules\/esm\/loader:336:24)\nnuxt  |   at async Module.loadNuxt (node_modules\/@nuxt\/kit\/dist\/index.mjs:2583:37)\nnuxt  | \n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"i-10\"><span class=\"ez-toc-section\" id=\"%E3%81%93%E3%81%93%E3%81%BE%E3%81%A7%E3%81%8D%E3%81%9F%E3%82%89%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%EF%BC%81\"><\/span>\u3053\u3053\u307e\u3067\u304d\u305f\u3089\u52d5\u4f5c\u3057\u307e\u3059\uff01<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"552\" src=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-1024x552.png\" alt=\"\" class=\"wp-image-2897\" srcset=\"https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-1024x552.png 1024w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-300x162.png 300w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-768x414.png 768w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-1536x828.png 1536w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-2048x1104.png 2048w, https:\/\/oidema-jp.com\/media\/wp-content\/uploads\/2023\/12\/image-3-940x507.png 940w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><\/figure>\n\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8714466162539622\" crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-8714466162539622\" data-ad-slot=\"3806477513\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Nuxt3\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u9032\u3081\u3066\u304a\u308a\u307e\u3059\u304c\u3001\u305d\u306e\u969b\u306b\u7c21\u5358\u306adocker\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u305f\u306e\u3067\u5171\u6709\u3057\u307e\u3059\u3002 \u304a\u6025\u304e\u306e\u65b9\u306f\u3053\u3061\u3089\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u6700\u521d\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304f\u3060\u3055\u3044 \u3068\u308a\u3042\u3048\u305a\u30d6\u30ed\u30b0\u306e\u8a18\u4e8b\u306f\u3069\u3063\u3061\u3067\u3082\u826f\u3044\u304b\u3089Docker\u74b0\u5883 &#8230; <\/p>\n","protected":false},"author":1,"featured_media":2900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"footnotes":""},"categories":[14,17,40],"tags":[],"class_list":{"0":"post-2879","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-javascript","8":"category-node-js","9":"category-40","10":"entry"},"acf":[],"aioseo_notices":[],"mb":[],"mfb_rest_fields":["title","aioseo_notices"],"_links":{"self":[{"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/posts\/2879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/comments?post=2879"}],"version-history":[{"count":18,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/posts\/2879\/revisions"}],"predecessor-version":[{"id":3214,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/posts\/2879\/revisions\/3214"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/media\/2900"}],"wp:attachment":[{"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/media?parent=2879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/categories?post=2879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oidema-jp.com\/media\/wp-json\/wp\/v2\/tags?post=2879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}