【问题标题】:Docker getting error FATAL EISDIR: illegal operation on a directory, readDocker收到错误FATAL EISDIR:对目录的非法操作,读取
【发布时间】:2022-01-25 09:45:52
【问题描述】:

当我尝试在我的 docker 容器上运行 NPM 时偶然发现了这个错误。

 FATAL  EISDIR: illegal operation on a directory, read                                                                                      19:05:13

  at Object.readSync (node:fs:723:3)
  at tryReadSync (node:fs:433:20)
  at Object.readFileSync (node:fs:479:19)
  at loadEnv (node_modules/@nuxt/config/dist/config.js:1152:78)
  at Object.loadNuxtConfig (node_modules/@nuxt/config/dist/config.js:1070:15)
  at loadNuxtConfig (node_modules/@nuxt/cli/dist/cli-index.js:338:32)
  at NuxtCommand.getNuxtConfig (node_modules/@nuxt/cli/dist/cli-index.js:463:26)
  at Object.run (node_modules/@nuxt/cli/dist/cli-start.js:115:30)
  at NuxtCommand.run (node_modules/@nuxt/cli/dist/cli-index.js:413:22)

所以在我的情况下,npm install 工作得很好......当你尝试运行时 带有npm run start 的应用程序遇到了上述错误。

【问题讨论】:

    标签: docker npm


    【解决方案1】:

    不是什么:

    • 文件权限问题 - 以 root 身份运行命令
    • .npmrc同目录或用户目录问题

    解决方案

    在我的情况下,将所有 python 虚拟环境文件夹添加到 .dockerignore,我什至没有将虚拟环境文件夹复制到我的 docker 容器中。它的存在是导致问题的原因。

    示例

    .dockerignore

    /api/.env
    

    这很奇怪,我不知道为什么会这样......但我花了几天时间试图弄清楚为什么我的构建在部署时工作但在本地无法工作 - python 虚拟环境在部署期间被忽略,所以在云构建期间他们从未出现过,这就是它起作用的原因。

    这里有更多关于这个问题的资源,但是这些对我不起作用:

    【讨论】:

      猜你喜欢
      • 2021-07-13
      • 2020-07-25
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多