【问题标题】:How to fix node module live-server to use require('open') instead of require('opn')如何修复节点模块 live-server 以使用 require('open') 而不是 require('opn')
【发布时间】:2019-08-27 04:24:07
【问题描述】:

我试图部署到我的 AWS 环境,但在 nodejs.log 下出现此错误

/var/app/current/node_modules/opn/index.js:11
const wslToWindowsPath = async path => {
                               ^^^^
SyntaxError: Unexpected identifier
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/var/app/current/node_modules/live-server/index.js:11:9)

npm ERR! Linux 4.14.47-56.37.amzn1.x86_64
npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.14.3-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.14.3-linux-x64/bin/npm" "start"
npm ERR! node v6.14.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! angularspree@0.0.1 start: `cd dist && ../node_modules/live-server/live-server.js --port=8081 --host=localhost --entry-file=/index.html`
npm ERR! Exit status 1

npm ERR! Failed at the angularspree@0.0.1 start script 'cd dist && ../node_modules/live-server/live-server.js --port=8081 --host=localhost >--entry-file=/index.html'.

我已尝试重新部署,但问题仍然存在。

AWS 支持建议恢复到 nodejs v6.14.3,但这不再可用

至于提到的 index.js,这里是代码的一部分和错误所在的行:

var fs = require('fs'),
    connect = require('connect'),
    serveIndex = require('serve-index'),
    logger = require('morgan'),
    WebSocket = require('faye-websocket'),
    path = require('path'),
    url = require('url'),
    http = require('http'),
    send = require('send'),
    open = require('opn'),<<<< line 9
    es = require("event-stream"),
    os = require('os'),
    chokidar = require('chokidar');

OPN 已被弃用。所以我安装了OPEN。但是 open = require('opn') 没有更新。

有人对如何解决这个问题有任何想法吗?

【问题讨论】:

    标签: node.js angular


    【解决方案1】:

    这似乎是因为 opn(现已开放)引入了一些仅存在于 Node 8.3.0 和更新版本中的新功能......使用更新的 Node 解决了这个问题。

    来源:https://github.com/tapio/live-server/issues/305

    【讨论】:

      【解决方案2】:

      将您的节点版本更改为 8.3 或更高版本。您可以使用 n 来做到这一点

      npm install -g n
      n 8.3.0
      npm install live-server
      

      现在应该安装实时服务器。要确认运行以下命令以获取已安装的版本号

      live-server -v
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-30
        • 2013-06-05
        • 2019-10-09
        • 2019-08-31
        • 1970-01-01
        • 2022-11-23
        • 2020-04-12
        相关资源
        最近更新 更多