Angular 2 QuickStart Live-server 错误

Posted

技术标签:

【中文标题】Angular 2 QuickStart Live-server 错误【英文标题】:Angular 2 QuickStart Live-server error 【发布时间】:2016-03-27 17:59:37 【问题描述】:

我是 angular 新手,我一直在尝试了解有关 angular2 的更多信息。 我已按照入门指南创建 angular2-quickstart 项目。 但是,当我运行命令 npm start 时,浏览器会启动,但 1 秒后一切都会失败。 以下是我的 npm 错误日志文件的内容:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'lite' ]
2 info using npm@3.3.12
3 info using node@v5.2.0
4 verbose run-script [ 'prelite', 'lite', 'postlite' ]
5 info lifecycle angular2-quickstart@1.0.0~prelite: angular2-quickstart@1.0.0
6 silly lifecycle angular2-quickstart@1.0.0~prelite: no script for prelite, continuing
7 info lifecycle angular2-quickstart@1.0.0~lite: angular2-quickstart@1.0.0
8 verbose lifecycle angular2-quickstart@1.0.0~lite: unsafe-perm in lifecycle true
9 verbose lifecycle angular2-quickstart@1.0.0~lite: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/home/bakary/angular2-quickstart/node_modules/.bin:/usr/local/lib/node_modules/npm/bin/node-gyp-bin:/home/bakary/angular2-quickstart/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
10 verbose lifecycle angular2-quickstart@1.0.0~lite: CWD: /home/bakary/angular2-quickstart
11 silly lifecycle angular2-quickstart@1.0.0~lite: Args: [ '-c', 'lite-server' ]
12 silly lifecycle angular2-quickstart@1.0.0~lite: Returned: code: 1  signal: null
13 info lifecycle angular2-quickstart@1.0.0~lite: Failed to exec lite script
14 verbose stack Error: angular2-quickstart@1.0.0 lite: `lite-server`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:232:16)
14 verbose stack     at emitTwo (events.js:88:13)
14 verbose stack     at EventEmitter.emit (events.js:173:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
14 verbose stack     at emitTwo (events.js:88:13)
14 verbose stack     at ChildProcess.emit (events.js:173:7)
14 verbose stack     at maybeClose (internal/child_process.js:819:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:212:5)
15 verbose pkgid angular2-quickstart@1.0.0
16 verbose cwd /home/bakary/angular2-quickstart
17 error Linux 3.16.0-50-generic
18 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "lite"
19 error node v5.2.0
20 error npm  v3.3.12
21 error code ELIFECYCLE
22 error angular2-quickstart@1.0.0 lite: `lite-server`
22 error Exit status 1
23 error Failed at the angular2-quickstart@1.0.0 lite script 'lite-server'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the angular2-quickstart package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     lite-server
23 error You can get their info via:
23 error     npm owner ls angular2-quickstart
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

你能帮我弄清楚我做错了什么吗?

问候

【问题讨论】:

我解决了 mpn 和 lite-server 的问题 here 您是否以管理员权限运行命令? 谢谢@TomekMiszczyk!解决办法是更新ubuntu中的sysctl.conf。 这对我没有帮助。任何其他想法如何解决? 【参考方案1】:

我也有这个问题。 lite-server 的依赖似乎有什么问题。

我在packages.json换行了:

"start": "concurrent \"npm run tsc:w\" \"node .\" "

这个解决方案可以帮助我进一步研究 Angular2,但对于稍后解决 lite-server 的问题会很好。

【讨论】:

【参考方案2】:

解决方法是在/etc/sysctl.conf中加入这一行

fs.inotify.max_user_watches = 524288 

然后在控制台输入sudo sysctl -p

【讨论】:

这解决了这个问题,谢谢。不过,稍微解释一下就好了:linux.die.net/man/8/sysctl 和 unix.stackexchange.com/questions/13751/… 很有启发性 如何在 Windows 10 中执行此操作? @Shakee93 .... 是时候去 linux ... :P .... 现在更好了 =D【参考方案3】:

更改 Package.json 脚本设置

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\",

"start": "concurrently \"npm run tsc:w\" \"npm run lite\" ",

angular 2 已经从系统 js 转移到 webpack,找到示例应用程序,你们可以在其中开始使用 angular2 + webpack + Typescript https://github.com/IgnatiusAndrew/angular2-webpack-starter

【讨论】:

这为我修好了。 如前所述,这不能解决您的问题,TSC 失败是因为您的代码有问题。在我的情况下,这是由于在子文件夹中移动一些数据对象类文件后我忘记更改的导入。 为什么需要运行 tsc 两次?对吗? @tt_Gantz 的评论更好。 这是我的答案谢谢。我正在关注来自 scotch.io 的 angular2 视频课程,现在很可能 packge.json 已经过时了,你的解释看起来完全正确。【参考方案4】:

很多人说从package.json 启动脚本中删除tsc 对他们有帮助。在这种情况下,问题在于打字稿在您的代码中发现了问题。

尝试从终端运行tsc,看看输出是什么并修复它。如果问题出在tsc 上,那么修复它应该可以消除错误。

【讨论】:

【参考方案5】:

就我而言,我只是忘了运行

npm install

【讨论】:

【参考方案6】:

我通过更改解决了它:

“同时”:“^3.0.0”,

“同时”:“^2.0.0”,

在 package.json 中

【讨论】:

【参考方案7】:

就我而言,我的 TypeScript import 语句路径之一不正确。

【讨论】:

【参考方案8】:

在 Package.json 脚本中,而不是从 start 部分中删除 tsc,我将其定义如下:

"tsc": "tsc",
"tsc:w": "tsc -w",

所以"scripts" 现在看起来像这样:

"scripts": 
    ...
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\",
    ...

【讨论】:

【参考方案9】:

解决无法启动 npm start 错误:

    tsc && concurrently "tsc -w" "lite-server"

(在上述所有尝试都失败之后)在 package.json 中使用: “tsc”:“tsc”, "tsc:w": "tsc -w", "start": "并发\"tsc -w\" \"lite-server\" ",

【讨论】:

以上是关于Angular 2 QuickStart Live-server 错误的主要内容,如果未能解决你的问题,请参考以下文章

QGIS Server Quickstart

Angular 2 + Electron 开发web和桌面应用

角度 2 - npm 错误

托管 Angular 2 应用程序

如何在 Live Server (Digital Ocean) 中部署 Angular App?

使用 Angular CLI 的 Angular 2 材质