【问题标题】:The edge module has not been pre-compiled for node.js version v8.9.3边缘模块尚未针对 node.js 版本 v8.9.3 进行预编译
【发布时间】:2018-01-31 07:56:45
【问题描述】:

我尝试将nodejs v6.x和edgejs v0.11开发的项目部署到生产环境nodev.8.x.。出现错误似乎“边缘模块尚未针对 node.js 版本 v8.9.3 进行预编译”。

我用谷歌搜索他们建议降级节点 js 版本,但我不能 bcz 已经在服务器中运行的其他项目是依赖节点 v8.x。

我已将 edgejs 更新为 ^7.10.1。但不工作。

【问题讨论】:

    标签: node.js edgejs


    【解决方案1】:

    希望错误描述清楚。 所以当我收到这个错误时我做了什么:

    • 转到https://github.com/tjanczuk/edge
    • 下载存储库并解压
    • 打开终端并进入tools文件夹
    • 运行build.bat release 8.9.3
    • 将生成的文件复制到 edge npm 文件夹中

      %AppData%\npm\node_modules\vs-tac\node_modules\edge\lib\native\win32\x64

      就我而言:

      • concrt140.dll
      • msvcp140.dll
      • vccorlib140.dll
      • 8.9.3 文件夹
    • 编辑%AppData%\npm\node_modules\vs-tac\node_modules\edge\lib\edge.js文件

    • 在 versionMap 变量中为您的版本添加一个条目。

       var versionMap = [
      [ /^0\.8\./, '0.8.22' ],
      [ /^0\.10\./, '0.10.0' ],
      [ /^0\.12\./, '0.12.0' ],
      [ /^4\./, '4.1.1' ],
      [ /^5\./, '5.1.0' ],
      [ /^6\./, '6.11.3' ],
      [ /^8\./, '8.9.3' ] ];
      
    • 享受吧!

    【讨论】:

    • 运行 build.bat 时出现错误“无法下载节点”:(
    • @johnktejik :您应该检查 build.bat 尝试下载节点的链接是否有效。
    • @johnktejik : 如果不行,请检查您输入的版本是否正确。您可以参考 GitHub 上边缘项目源代码中的脚本 tools/download.js 以了解其工作原理。如果你仍然有问题,你可以在他们的 GitHub 上搜索/打开一个问题。
    • @johnktejik 下载错误是由于下载 URL 是 HTTP 并且服务器正在重定向到 HTTPS 但下载脚本不遵循重定向。要修复它,请在工具目录中打开文件 download.js 并将所有 http 替换为 https。您需要更改第 1、6、7 12、13 21 行(更改变量、导入和带有 URL 的字符串)。这应该可以解决您的下载问题
    • 顺便说一句,自 2020 年以来在 GitHub 上打开了一个 PR 来解决此问题,但尚未合并。看起来这个项目被放弃了......
    猜你喜欢
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 2020-12-22
    • 2018-03-05
    • 2014-01-26
    相关资源
    最近更新 更多