Nodejs无服务器Windows 10

时间:2018-05-29 18:32:04

标签: node.js windows-10 serverless-framework

我有一个无服务器的nod​​ejs项目,工作得很好。没有触摸它一个星期,想重新部署它,现在我遇到了以下错误:

1)EPERM:不允许操作,scandir'D:\ GIT \ awesome.build \ node_modules' 2)EEXIST:文件已经存在,符号链接'D:\ GIT \ awesome \ node_modules' - > “d:\ GIT \ awesome.build \ node_modules”

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

我知道在闲置的一周里,我确实得到了春季Windows更新。

Windows 10 17134.48 NPM 6.1.0 Nodejs 8.11.1

任何可能导致此问题的想法?

1 个答案:

答案 0 :(得分:6)

更新了答案

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

修正版 https://www.npmjs.com/package/@hewmen/serverless-plugin-typescript

原始答案:

我们遇到了完全相同的问题。多个无服务器项目,多台计算机。我们也尝试过不同的节点版本。完全擦除抓取的回购并重做它。我们尝试过使用高架控制台。不知道发生了什么,但是我们在3台不同的机器上的所有内容上都得到了完全相同的错误。

目前的怀疑是Windows最近更新了它的一个更新...但我想我们会看到更多的信息。

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

  
      
  1. 删除您当前的' .build'和'。无框架'根项目区域内的文件夹

  2.   
  3. 在命令提示符下,运行' sls package'并让它以相同的错误失败

  4.   
  5. 手动复制' node_modules'和' package.json'从根目录进入.build文件夹(删除那里的那些)。这不会导致错误,说.build目录已经存在,你可能已经看到了这个目标。

  6.   
  7. 在命令提示符下,运行' sls deploy' (或者' sls package'如果你只想包装)

  8.   

不理想......但是在我们弄清楚真正的问题之前,它让我们再次部署。

问题似乎在于为' .build'中的node_modules创建符号链接的方式。夹。它链接了一个目录,但似乎无论出于何种原因突然将其视为一个文件。在Windows中,如果你使用" mklink"没有' / D'目录上的选项,它将为您提供我们在' .build'中看到的相同结果。夹。如果你使用mklink / D - 你就不会遇到这个问题。

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

至少可以说非常烦人。如果我们发现错误,我会更新。