【问题标题】:azure emulator not starting for web role if node_modules directory exists如果 node_modules 目录存在,Azure 模拟器不会为 Web 角色启动
【发布时间】:2015-04-22 17:48:12
【问题描述】:

我想我只是偶然发现了一个非常奇怪的问题。我有一个相当大的解决方案,包括一个具有 3 个角色、两个工人和一个 Web 角色的天蓝色项目。 web角色基于asp.net mvc和web api。昨天尝试了 gulp(用于编译和捆绑更少的文件)后,我刚刚注意到 azure 模拟器不会再启动这个角色了。模拟器启动对话框在 80% 左右停止并永远停留在那里,没有任何错误消息。在我删除 node_modules 目录后,一切都恢复正常了。

web 角色本身不使用任何与 nodejs 相关的东西,但 gulp 似乎需要那里的 node_modules 目录。这是模拟器的一个奇怪的错误,还是我不明白的预期行为?

【问题讨论】:

  • 遇到了同样的问题。你找到解决办法了吗?
  • 嗯,在某种程度上,我只是将 node_modules 目录从解决方案目录中的项目目录之外移动(因此在目录树中只有一个节点)。
  • 我希望我昨天能找到这个问题,因为它已经让我悲伤了好几个小时!这肯定是模拟器的错误?
  • 我猜..我不记得我是否尝试将它部署到 azure 以在那里测试它,但我猜不会,因为我不会部署一些甚至不起作用的东西本地。但是我也花了几个小时才找到这个并找到提到的解决方法:/
  • 只是想我会插话说我遇到了完全相同的问题。我花了几个小时才找到原因,因为在启动模拟器时,Azure Compute 模拟器启动,然后立即关闭,并显示以下无用的错误消息:“程序 '[5492] WaIISHost.exe' has exited with code 0 (0x0 )。”

标签: node.js azure node-modules azure-emulator


【解决方案1】:

我通过包含 Pre-build 和 Post-build 事件暂时解决了这个问题。

Pre-Build event: npm install

Post-Build event: rmdir /s /q "$(ProjectDir)node_modules\" 

【讨论】:

    【解决方案2】:

    您是否尝试过隐藏“node_modules”文件夹?

    我遇到了类似的问题,Visual Studio 崩溃了。它来自 node_modules 文件夹中某些文件的路径超过 260 个字符

    我并不是说这对你有用,因为我没有遇到你的确切问题,但由于 Visual Studio 不加载隐藏文件夹......它可能会工作 :-)

    【讨论】:

    • 有趣的想法,虽然我不会测试它,因为我目前对在解决方案目录中包含 node_modules 目录的解决方案感到满意(如上面的 cmets 中所述)......但我喜欢使用隐藏标志作为 260 个字符限制的解决方法的想法,因为 git 集成真的不喜欢这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2010-11-17
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多