我试图部署到我的亚马逊网络服务环境,但在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')没有更新。
有没有人有办法解决这个问题?
发布于 2019-10-01 20:06:46
这似乎是因为opn (现在开放)引入了一些仅在Node 8.3.0和更新版本中存在的新功能...使用较新的Node可以解决此问题。
发布于 2021-06-30 23:58:04
将节点版本更改为8.3或更高版本。您可以使用n来执行此操作
npm install -g n
n 8.3.0
npm install live-server现在应该安装实时服务器。要确认,请运行以下命令以获取已安装的版本号
live-server -vhttps://stackoverflow.com/questions/55532439
复制相似问题