gpt4 book ai didi

node.js - Nodejs 无服务器 Windows 10

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:08 26 4
gpt4 key购买 nike

我有一个运行良好的无服务器 nodejs 项目。一个星期没碰它,想重新部署它,现在我遇到了以下错误:

1) EPERM:不允许操作,scandir ‘D:\GIT\awesome.build\node_modules’2) EEXIST: 文件已经存在,符号链接(symbolic link)‘D:\GIT\awesome\node_modules’ -> ‘D:\GIT\awesome.build\node_modules’

首先我得到了第一个错误。如果我第二次尝试,我会得到第二个。如果我删除 .build,我将返回接收第一个。

我知道在空闲的那一周我确实获得了 Spring Windows 更新。

Windows 10 17134.48NPM 6.1.0 Node 8.11.1

知道是什么原因造成的吗?

最佳答案

更新答案

我们已经确定并发现了与此相关的问题。我们发布了一个专门针对此修复的新 NPM 模块,并在原始插件上创建了一个 PR(但他已经很久没有更新了)

固定版本 https://www.npmjs.com/package/@hewmen/serverless-plugin-typescript

原答案:

我们遇到了完全相同的问题。多个无服务器项目,多台计算机。我们也尝试了不同的 Node 版本。完全删除获取的 repo 并重做。我们尝试过使用提升的控制台。不知道发生了什么,但我们在 3 台不同机器上的所有内容上都遇到了完全相同的错误。

目前的怀疑是 Windows 最近进行了一个更新来清理它..但我想我们会看到更多关于它的信息。

但是,我们确实找到了解决方法。

  1. Delete your current '.build' and '.serverless' folders inside the root project area

  2. In command prompt, run 'sls package' and let it fail with the same error

  3. Manually copy over 'node_modules' and 'package.json' from the root directory into the .build folder (delete the ones in there). This won't cause the error saying the .build directory already exists which you might have seen fighting this.

  4. In command prompt, run 'sls deploy' (or 'sls package' if you only want to package)

不理想...但它让我们再次部署,直到我们找出真正的问题。

问题似乎在于为“.build”文件夹中的 node_modules 创建符号链接(symbolic link)的方式。它正在链接一个目录,但似乎出于某种原因突然将其视为一个文件。在 Windows 中,如果您在目录上使用不带 '/D' 选项的“mklink”,它会为您提供与在“.build”文件夹中看到的相同的结果。如果您执行 mklink/D - 您就没有这个问题。

这就是为什么我们目前怀疑是 Windows 更新。因为一切都运行良好,所以我们所有 Windows PC 上的所有项目都停止了。我们已经将我们的 repo 回滚到我们已经成功部署的东西,没有问题。我们已尝试重新部署几个月来未触及的项目,同样的问题。

至少可以说这很烦人。如果我们发现问题所在,我会更新。

关于node.js - Nodejs 无服务器 Windows 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50590798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com