【问题标题】:How to prevent Netlify from treating warnings as errors because process.env.CI = true?由于 process.env.CI = true,如何防止 Netlify 将警告视为错误?
【发布时间】:2020-10-06 11:50:08
【问题描述】:

在 Netlify 上部署新项目开始失败。检查日志,我看到以前成功部署的日志中没有的内容:

Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically. 
Failed to compile.

如何修复我的构建?

【问题讨论】:

  • CI= npm run build CI= yarn build 似乎由于某种原因不起作用。

标签: javascript npm netlify


【解决方案1】:

您需要在构建命令期间让 CI 为 false。

转到:https://app.netlify.com/sites/mysales-krohne/settings/deploys > 构建命令并将其更改为:

CI=false npm 运行构建

现在,重建您的部署。应该没问题了。

【讨论】:

  • 哇...我想知道他们为什么不将其设为默认值...或者我们的项目是否可以有一些标志来切换它...现在codesandbox.io可以部署我的github项目只需将 github 更改为 github 框即可。不是 Nelify 和 Vercel 不能
  • 谢谢,这有帮助
  • 我想知道为什么他们将警告视为错误,首先区分“错误”和“警告”的目的是什么?
【解决方案2】:

我是这样解决的:

部署失败后,请转到部署 -> 部署设置。

在那里您将看到环境选项卡。然后点击环境变量->编辑变量

键:CI 值:假

清除缓存后重新部署。希望它会有所帮助!

【讨论】:

    【解决方案3】:

    2020年6月15日,Netlify做了一个配置change“添加环境变量CI构建环境,值为true”。在 Netlify 的构建和部署设置中,将构建命令更改为 CI= npm run build。这将阻止 Netlify 将警告视为错误。关于这个问题的更多讨论可以在 Netlify 的forums 中找到。

    【讨论】:

      【解决方案4】:

      你应该把CI='' npm run build 在您的构建设置中。

      查看以下错误:https://docs.netlify.com/configure-builds/troubleshooting-tips/#build-fails-on-warning-message

      但最好纠正警告...

      【讨论】:

        【解决方案5】:

        只需将构建命令更改为:

        CI= yarn build
        

        或

        CI= npm build
        

        就像其他帖子所说的那样,这是由于CI,所以任何警告都会停止构建。上面几行只是意味着,将CI 变量设置为空,然后启动命令yarn build。

        【讨论】:

          【解决方案6】:

          有时甚至在设置之后

          CI = yarn build 或 npm build 命令

          构建失败。

          就我而言,我在本地计算机上运行了构建命令,但导入时出现错误,而 netlify 控制台中没有显示该错误。

          因此,如果构建失败,则在本地计算机上运行一次,这将通知任何错误。

          【讨论】:

            【解决方案7】:

            CI='' npm run build

            更多详情请查看HERE

            【讨论】:

              【解决方案8】:

              从 netlify 删除您的网站后再次重新部署

              使用命令npm run build 而不是yarn build

              在部署过程中不要尝试重命名您的网站名称以避免错误

              【讨论】:

                【解决方案9】:

                我发现每个人都告诉我们将 CI 变量设置为 false,但警告是我们应该关心的事情,对吧?毕竟我看到大多数 CI 服务器都实现了这样的功能,我相信这有一定的目的,也许将警告视为错误只是其中之一。因此,与其禁用此类功能,我认为最好检查您是否要在部署的应用程序中接收这些警告。如果这是您所期望的,例如 lint 警告,那么只需配置您的 lint 规则配置或禁用构建阶段的 lint 检查,将其设置为管道中的单独步骤,您可以在此特定阶段将 CI 变量设置为 false .如果您使用例如 azure static web apps deploy action

                ,感觉比在整个过程中将变量设置为 false 更安全

                【讨论】:

                  猜你喜欢
                  • 2021-09-08
                  • 2020-10-21
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-03-15
                  • 2011-01-05
                  • 1970-01-01
                  • 2012-01-13
                  相关资源
                  最近更新 更多