Angular2 QuickStart npm start không hoạt động chính xác


105

Cấu trúc tệp

Tôi biết Angular2 beta vừa được phát hành nhưng tôi không thể tái tạo các bước từ hướng dẫn trang web chính thức của họ ( https://angular.io/guide/quickstart ). Có thể ai đó đã gặp sự cố tương tự và biết phải làm gì để khắc phục sự cố này? Khi tôi cố gắng khởi động ứng dụng bằng npm startlệnh, tôi nhận được kết quả như sau:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ]
2 info using npm@2.7.4
3 info using node@v0.12.2
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart angular2-quickstart@1.0.0
6 info start angular2-quickstart@1.0.0
7 verbose unsafe-perm in lifecycle true
8 info angular2-quickstart@1.0.0 Failed to exec start script
9 verbose stack Error: angular2-quickstart@1.0.0 start: `concurrent "npm run tsc:w" "npm run lite" `
9 verbose stack Exit status 127
9 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
9 verbose stack     at EventEmitter.emit (events.js:110:17)
9 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:14:12)
9 verbose stack     at ChildProcess.emit (events.js:110:17)
9 verbose stack     at maybeClose (child_process.js:1015:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
10 verbose pkgid angular2-quickstart@1.0.0
11 verbose cwd /Users/tmrovsky/Documents/angular2/angular2-quickstart
12 error Darwin 13.4.0
13 error argv "node" "/usr/local/bin/npm" "start"
14 error node v0.12.2
15 error npm  v2.7.4
16 error code ELIFECYCLE
17 error angular2-quickstart@1.0.0 start: `concurrent "npm run tsc:w" "npm run lite" `
17 error Exit status 127
18 error Failed at the angular2-quickstart@1.0.0 start script 'concurrent "npm run tsc:w" "npm run lite" '.
18 error This is most likely a problem with the angular2-quickstart package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     concurrent "npm run tsc:w" "npm run lite"
18 error You can get their info via:
18 error     npm owner ls angular2-quickstart
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

Tôi đã có: Phiên bản phiên bản nút phiên bản 1.7.5 phiên bản 0.12.2.

Có lẽ ai đó có thể giúp giải quyết vấn đề :)?

package.json:

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "license": "ISC",
  "dependencies": {
    "angular2": "2.0.0-beta.0",
    "systemjs": "0.19.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "zone.js": "0.5.10"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^1.3.1",
    "typescript": "^1.7.3"
  }
}

index.html:

<html>

<head>
    <title>Angular 2 QuickStart</title>

    <!-- 1. Load libraries -->
    <script src="node_modules/es6-shim/es6-shim.js"></script>
    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>
    <script src="node_modules/rxjs/bundles/Rx.js"></script>
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script>

    <!-- 2. Configure SystemJS -->
    <script>
        System.config({
            packages: {
                app: {
                    format: 'register',
                    defaultExtension: 'js'
                }
            }
        });
        System.import('app/boot')
                .then(null, console.error.bind(console));
    </script>

</head>

<!-- 3. Display the application -->
<body>
<my-app>Loading...</my-app>
</body>

</html>

app.components.ts:

import {Component} from 'angular2/core';

@Component({
    selector: 'my-app',
    template: '<h1>My First Angular 2 App</h1>',
})

export class AppComponent {}

boot.js:

import {bootstrap} from 'angular2/platform/browser'
import  {AppComponent} from './app.component'

bootstrap(AppComponent);

Bạn có thể chỉnh sửa bài đăng của mình với các tệp của bạn được không?
Romain

Cấu trúc thư mục của bạn là gì? index.html nằm trong app/hay ngoài nó?
the_critic

Thứ nhất, tập tin của bạn boot.js phải là một tập tin typescript đổi tên nó như boot.ts . Tôi không thấy bất cứ điều gì khác có vẻ sai ... Như the_critic đã nói, bạn có thể cho chúng tôi cấu trúc dự án của bạn không.
Romain

Đó là boot.ts. Tôi đã nhập nhầm 'js' vào đây trên stackoverflow - xin lỗi. Chỉ mục html nằm trên thư mục gốc như package.json chẳng hạn. Nó không có trong ứng dụng / thư mục.
Tomasz Ciunel

2
Đảm bảo rằng phiên bản nút của bạn là >=4.2.1 <5và phiên bản npm của bạn >=2.14.7 <3.0như được chỉ định trong hướng dẫn DEVELOPER . Tôi nghĩ bạn có thể làm cho nó hoạt động với nút 5, nhưng tôi không biết làm thế nào.
Eric Martinez

Câu trả lời:


224

Thay đổi starttrường trong package.json từ

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

đến

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

2
Tại sao anh ta chạy tsc hai lần ( tsctsc -w)?
smartmouse

9
Nó đã làm việc! Nhưng tại sao? Đã bắt đầu nản trong ng2.
Maxim

9
Trong khóa học "play by play angle 2 quick start" trên Pluralsight Ward Bell giải thích điều này. "tsc" biên dịch mã trước vì nếu không có điều đó, trong dự án lớn hơn, có thể máy chủ khởi động trước khi quá trình biên dịch kết thúc. Trong trường hợp đó, máy chủ sẽ báo lỗi cho biết nó không biết phải làm gì.
Starceaker

1
Vào năm 2017, cách giải quyết của bạn trong câu trả lời của bạn đã chỉ ra vấn đề thực sự, đó là có lỗi biên dịch trong bảng sắp chữ trong mã ứng dụng. Khi tôi sửa các lỗi biên dịch, phiên bản gốc đã hoạt động tốt mà không có cách giải quyết khác của bạn.
CodeMed vào

1
Tuyệt vời ... "bắt đầu": "đồng thời \" NPM chạy tsc: w \ "\ "NPM chạy Lite \"" làm việc cho tôi ...
DILIP KOSURI

86

Để npm startchạy được cho mình, tôi phải đảm bảo rằng mình đã cài đặt toàn cầu một số devDependencies. Bạn đã thử chưa:

  • npm install -g concurrently
  • npm install -g lite-server
  • npm install -g typescript

nhưng tôi nghĩ lite-serverlà không bắt buộc, bạn có thể có thể sử dụng các dịch vụ khác quá
Pardeep Jain

11
Đã làm cho tôi. sudo npm update -g && sudo npm install -g concurrently lite-server typescript.
Sam Finnigan

6
đừng quên gỡ cài đặt phiên bản cục bộ:npm uninstall lite-server
Aurelien

1
Tôi gặp sự cố tương tự khi khởi động máy chủ web bằng cách sử dụng angle2-seed từ khóa học Udemy. Điều này đã khắc phục sự cố của tôi.
dance2die

Đúng! cài đặt máy chủ lite trên toàn cầu và gỡ cài đặt gói cục bộ cuối cùng đã làm việc cho tôi trên Vagrant! Cám ơn rất nhiều!
Yahya Uddin

48

Trước tiên, bạn cần cập nhật npm, lite-server và typecript:

sudo npm update -g && sudo npm install -g concurrently lite-server typescript

Xóa thư mục node_modules khỏi thư mục dự án Angular của bạn (nếu tồn tại). Lần chạy tiếp theo:

npm install

Sau đó giải quyết các lỗi ENOSPC:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Cuối cùng:

npm start

Đây là tệp package.json của tôi:

{
  "name": "reservationsystem",
  "version": "0.0.1",
  "scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "dependencies": {
    "a2-in-memory-web-api": "~0.1.0",
    "angular2": "2.0.0-beta.3",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "systemjs": "0.19.17",
    "zone.js": "0.5.11"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^2.0.1",
    "typescript": "^1.7.5"
  }
}


3
Tôi đã ủng hộ vì điều này đã khắc phục sự cố của tôi. Tuy nhiên, tôi rất muốn hiểu cách thêm fs.inotify.max_user_watches vào / etc / sysctl đã khắc phục sự cố này.
Joshua Wilson

Có vẻ như người xem cần thêm bộ nhớ và điều này cung cấp điều đó.
Joshua Wilson

Tôi thấy nó có vẻ hoạt động tốt hơn khi tôi xóa các mô-đun trước - rm -r node_modules/. Dù sao như người đàn ông nói, nó đã giúp tôi đi; Tôi cảm thấy điều đó fs.inotify.max_user_watches=524288có vẻ quá đáng đối với tôi. Có cải thiện sự tỉnh táo trong gió không?
sẽ

Điều đáng nói là phần khởi động nhanh Javascript bắt đầu ngay lập tức. KHÔNG có tính năng bổ sung lớn. Và khi máy chủ dừng trang web stays on screen. Phiên bản sắp chữ chỉ biến mất với một làn khói
sẽ

điều này đã cứu tôi, cảm ơn bạn. echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
chintan adatiya

15

Tôi đã gặp lỗi tương tự trên windows 10. Có vẻ như đó là sự cố với gói npm đồng thời. Tôi đã tìm thấy 2 tùy chọn để giải quyết lỗi này:

  • 1. Chạy cả hai lệnh trong 2 cmd riêng biệt:

    • trong lần chạy đầu tiên: npm run tsc:w
    • trong cái thứ hai: npm run lite
  • 2. Thay đổi package.json

    • chỉ cần thay đổi tùy chọn bắt đầu thành này: "start": "tsc && npm run tsc:w | npm run lite",

2
Chỉ cần lưu ý. Trên Linux:"start": "tsc && npm run tsc:w & npm run lite",
ACV,

Chà, nó tự động biên dịch lại cho tôi.
dontHaveName

Tôi đã đề cập đến nhận xét đầu tiên của mình :) trên linux nó sẽ không hoạt động
ACV

Chỉ có giải pháp này làm việc cho tôi. Đã thử trước (chạy cả hai lệnh trong 2 cmd riêng biệt). Sau đó, quá trình dừng ở cả hai cmd. Cuối cùng áp dụng thứ hai (thay đổi package.json) và chạy "npm start" trong một cmd. Nếu tôi thay đổi một tệp, tự động localhost: 3000 làm mới và hiển thị các thay đổi của tôi. Cảm ơn rất nhiều!
Andrew F.

13

Đây là cách tôi đã giải quyết vấn đề hôm nay sau nhiều giờ thử tất cả các giải pháp khác nhau - (đối với bất kỳ ai đang tìm kiếm cách khác vẫn còn).

Mở 2 phiên bản cmd tại dir bắt đầu nhanh của bạn:

cửa sổ # 1:

npm run build:watch

sau đó...

cửa sổ # 2:

npm run serve

Sau đó, nó sẽ mở trong trình duyệt và hoạt động như mong đợi


9

Tôi đã gặp sự cố tương tự sau khi sao chép thư mục angle2-quickstart (bao gồm node_modules) để tạo thư mục angle2-tour-of-hero. Điều này thật kỳ quặc vì bản gốc được biên dịch tốt nhưng bản sao thì không ...

npm run tsc

Tôi đã có thể giải quyết sự cố bằng cách xóa thư mục node_modules và chạy lại cài đặt npm .

Đây là một điều ngạc nhiên đối với tôi, vì vậy tôi đã tạo ra sự khác biệt giữa 2 thư mục ...

diff -rw angular2-quickstart/node_modules/ angular2-tour-of-heroes/node_modules/

có RẤT NHIỀU sự khác biệt, rất nhiều điểm khác biệt về 'nơi' trong tệp package.json như thế này: -

diff -rw angular2-quickstart/node_modules/yargs/package.json angular2-tour-of-heroes/node_modules/yargs/package.json
5c5
<       "/Users/michael/Tutorials/angular2/angular2-quickstart/node_modules/lite-server"
---
>       "/Users/michael/Tutorials/angular2/angular2-tour-of-heroes/node_modules/lite-server"

... loại nào cũng có lý nhưng cũng có một số như thế này: -

diff -rw angular2-quickstart/node_modules/utf-8-validate/build/gyp-mac-tool angular2-tour-of-heroes/node_modules/utf-8-validate/build/gyp-mac-tool
607c607,608
<       return {k: self._ExpandVariables(data[k], substitutions) for k in data}
---
>       return dict((k, self._ExpandVariables(data[k],
>                                             substitutions)) for k in data)

... mà tôi không hiểu gì cả.

Ồ tốt, Hy vọng điều này sẽ giúp.


5

Thay đổi trường bắt đầu trong package.json từ:

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

Đến:

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

Nó thực sự hữu ích.


5

Câu trả lời này liên quan đến khóa học Pluralsight xuất sắc "Angular 2 Fundamentals" của Jim Cooper.

Nếu giống như tôi, bạn đang gặp khó khăn khi bắt đầu chạy lệnh npm start trên máy Windows 10 thì tôi đề xuất như sau:

Bắt đầu git bash với tư cách quản trị viên (làm theo các bước trong video) Điều hướng đến thư mục dự án ( ng2-fundamentals ) và sau đó nhập các lệnh sau:

npm config get registry

npm cache clean

npm install

Sau khi quá trình cài đặt hoàn tất, bạn sẽ cần sửa đổi tệp get-shell.js nằm trong mô-đun spawn-default-shell bên trong thư mục node_modules như sau:

Thay đổi những điều sau:

const DETECT_SH_REGEX = /sh$/;

đến điều này:

const DETECT_SH_REGEX = /sh/;

Lưu ý $ bị xóa khỏi cuối chuỗi sh (ghi công cho tác giả ban đầu của bản sửa lỗi này alfian777, người đã đăng giải pháp trên github )

Lưu tệp và sau đó chuyển đến bảng điều khiển git bash của bạn và nhập npm start

Bạn sẽ không thấy bất kỳ lỗi nào bây giờ và trang localhost sẽ khởi động trong trình duyệt mặc định của bạn (cách khác là mở trình duyệt của bạn và điều hướng đến http: // localhost: 8808 / ).


3

Không câu trả lời nào trong số này hữu ích với Ubuntu . Cuối cùng, tôi tình cờ gặp được một giải pháp từ John Papa (tác giả của lite-server).

Trên Ubuntu 15.10, Angular 2 Quick Start bắt đầu hoạt động sau khi chạy phần mềm này tại terminal:

echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Rõ ràng nó làm tăng số lượng File Watches có sẵn.

Nguồn trả lời: https://github.com/johnpapa/lite-server/issues/9


3

Tôi gặp phải vấn đề tương tự. Tuy nhiên, không có câu trả lời nào ở trên là giải pháp thích hợp cho tôi. Hóa ra là do môi trường phát triển của tôi nhiều hơn là do bất kỳ phiên bản nào của mọi thứ.

Vì tôi đã sử dụng Visual Studio Code, nên tôi đã thiết lập một tác vụ xây dựng trong VSC để biên dịch TypeScript làm trình theo dõi. Đây là vấn đề. VSC đã bắt đầu một nhiệm vụ NPM cho TSC và vì vậy khi thực hiện tập lệnh 'bắt đầu' của hướng dẫn, nó đã gặp vấn đề với thực tế là VSC vẫn đang chạy tsc -w.

Tôi đã dừng tác vụ trong VSC và điều chỉnh lại tập lệnh 'bắt đầu' và nó hoạt động tốt.

Giải pháp A: Dừng lại và npm Bắt đầu

  • VSC Command> Tasks: Chấm dứt các tác vụ đang chạy
  • Nhà ga $ npm start

Sau đó để mọi thứ hoạt động cùng nhau, tôi thay đổi tập lệnh bắt đầu để chỉ khởi động máy chủ chứ không thực sự khởi chạy TSC.

Giải pháp B: Thay đổi tập lệnh bắt đầu npm

  • Thay thế

    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "

  • với

    "start": "npm run lite"

Giải pháp C: Chỉ cần chạy lệnh máy chủ lite

`npm run lite`

3

Tôi đã giải quyết sự cố của mình với chương trình Bắt đầu nhanh bằng cách theo liên kết bên dưới.

Angular 2 QuickStart Live-server lỗi

Thay đổi Package.jsonCài đặt Tập lệnh

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

đến:

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

2

Câu trả lời này chỉ dành cho người dùng Windows 10 và như bạn sẽ thấy bên dưới, tôi nghi ngờ sự cố chỉ xảy ra với những người dùng đó:

Để tìm hiểu điều gì đang xảy ra, bạn có thể chạy lệnh trên PowerShell và nó sẽ cho bạn biết vấn đề thực sự là gì:

PS C:\Users\Laurent-Philippe> tsc && concurrently "tsc -w" "lite-server"
At line:1 char:5
+ tsc && concurrently "tsc -w" "lite-server"
+     ~~
The token '&&' is not a valid statement separator in this version.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidEndOfLine

Về cơ bản, thông báo giải thích rằng mã thông báo "&&" chưa hợp lệ với Windows 10. Và đối với những người thắc mắc, cùng một lệnh thay thế && bằng &, đã thông báo cho chúng tôi rằng toán tử ký hiệu và được dành để sử dụng trong tương lai:

 (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double quotation marks ("&") to pass it as part of a string.

Kết luận :

  • nếu bạn muốn khởi chạy lệnh này theo cách thủ công từ powershell, bạn có thể sử dụng lệnh này để thay thế:

    tsc "&" đồng thời "tsc -w" "lite-server"

  • nếu bạn muốn khởi chạy ứng dụng của mình với npm start, hãy thay thế dòng bắt đầu trong package.json của bạn bằng:

    "start": "tsc & đồng thời \" tsc -w \ "\" lite-server \ ""

  • cách khác, câu trả lời của user60108 cũng hoạt động vì anh ta không sử dụng ký hiệu và:

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


1

Rất có thể phiên bản NPM của bạn đã cũ, gần đây tôi đã có phiên bản này trên máy của nhà phát triển tại nơi làm việc, hãy nhập:

npm -v

Nếu nó ít hơn phiên bản ổn định hiện tại và bạn chỉ cần cập nhật cài đặt Node.js của mình từ đây https://nodejs.org/en/ :)


1

Điều này đã làm việc với tôi, đặt /// <reference path="../node_modules/angular2/typings/browser.d.ts" />ở đầu tệp bootstraping.

Ví dụ:-

Trong boot.ts

/// <reference path="../node_modules/angular2/typings/browser.d.ts" />
import {bootstrap} from 'angular2/platform/browser'
import  {AppComponent} from './app.component'

bootstrap(AppComponent);

Lưu ý: - Đảm bảo rằng bạn đã đề cập đến đường dẫn tham chiếu chính xác .


1
  1. Trong devDependencies typecript là 1.7.3 nhưng bạn có 1.7.5 sửa lỗi chung.
  2. Nhập các tệp js của bạn theo đúng thứ tự trong index.html. để biết thêm thông tin, hãy tham khảo kho lưu trữ này https://github.com/pkozlowski-opensource/ng2-play/blob/master/index.html hoặc tham khảo kho lưu trữ của tôi tại đây

    https://github.com/MrPardeep/Angular2-DatePicker

index.html

<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    <script src="node_modules/es6-shim/es6-shim.min.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>

    <script>
        System.config({
                    defaultJSExtensions: true,
                    map: {
                        rxjs: 'node_modules/rxjs'
                    },
                    packages: {
                        rxjs: {
                        defaultExtension: 'js'
                      }
                    }
                });
    </script>
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script>
    <script src="node_modules/rxjs/bundles/Rx.js"></script>
    <script src="node_modules/angular2/bundles/router.dev.js"></script>
    <script src="node_modules/angular2/bundles/http.dev.js"></script>

<script>
    System.import('dist/bootstrap');
</script> 

Cảm ơn cho phát lại của bạn, nhưng nó không giải quyết vấn đề của tôi :)
Tomasz Ciunel

chứ không phải như @Eric đã nói, hãy kiểm tra phiên bản nút của bạn, nó phải nằm trong khoảng 4 * 5 và phiên bản npm phải từ 2 * 3. hoặc đăng cấu trúc dự án của bạn, nó sẽ giúp tôi tìm ra vấn đề.
Pardeep Jain

Cảm ơn bạn! Điều này đã làm việc cho tôi. Đặc biệt liên kết này: github.com/pkozlowski-opensource/ng2-play/blob/master/…
brando

chào mừng bạn :) liên kết này rất hữu ích cho việc khởi động trong phiên bản beta0.0 angle2.
Pardeep Jain

0

Tôi có thể tái tạo các bước mà không gặp bất kỳ vấn đề gì.

Vui lòng thử:

(1) xóa dòng này khỏi index.html của bạn

<script src="node_modules/es6-shim/es6-shim.js"></script>

(2) sửa đổi tệp: app.components.ts , xóa "," ở cuối dòng trong trường mẫu

@Component({
    selector: 'my-app',
    template: '<h1>My First Angular 2 App</h1>'
})

Đây là môi trường của tôi:

$ node -v
v5.2.0

$ npm -v
3.3.12

$ tsc -v
message TS6029: Version 1.7.5

Vui lòng tham khảo repo này cho công việc của tôi: https://github.com/AlanJui/ng2-quick-start


nếu chúng tôi sử dụng ,ở cuối mẫu, tôi không tạo ra bất kỳ vấn đề gì. và làm thế nào có thể chạy mà không có dự ánes6-shim
Pardeep Jain


0

Cài đặt các gói trên toàn cầu là một cách để thực hiện, nhưng điều này hạn chế bạn sử dụng cùng một phiên bản trên tất cả các dự án mà chúng được sử dụng.

Thay vào đó, bạn có thể đặt trước các tập lệnh npm của mình bằng ./node_modules/.bin. Trong trường hợp của bạn, package.jsonsẽ trông như thế này:

{
  "name": "reservationsystem",
  "version": "0.0.1",
  "scripts": {
    "tsc": "./node_modules/.bin/tsc",
    "tsc:w": "npm run tsc -w",
    "lite": "./node_modules/.bin/lite-server",
    "start": "./node_modules/.bin/concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "dependencies": {
    "a2-in-memory-web-api": "~0.1.0",
    "angular2": "2.0.0-beta.3",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "systemjs": "0.19.17",
    "zone.js": "0.5.11"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^2.0.1",
    "typescript": "^1.7.5"
  }
}

Tôi nghĩ rằng npm phải cung cấp ./node_modules/.binphía trước mỗi lệnh "script" có trong thư mục đó theo mặc định, đó là lý do tại sao bản gốc package.jsontrông như cách nó đã làm. Tôi không chắc liệu tính năng đó có trong mọi bản phát hành của npm hay không hoặc nếu có một số cài đặt cấu hình mà bạn phải chỉ định. Nó rất đáng để xem xét!


0

Tôi đã gặp vấn đề tương tự, cả hai chúng tôi đều quên bao gồm 's' trên các thành phần ở đây:

import  {AppComponent} from './app.component'

Nên là:

boot.js:

import {bootstrap} from 'angular2/platform/browser'
import  {AppComponent} from './app.components'

bootstrap(AppComponent);

điều này không đúng, theo ví dụ này, không nên có 's' trên app.component
Brad Woods

0

Tôi đã gặp lỗi tương tự trên OS X (nút v6.2.0 và npm v3.9.3 được cài đặt bằng homebrew) và nó không được giải quyết bằng bất kỳ cách nào ở trên. Tôi đã phải thêm các đường dẫn đầy đủ cho các lệnh đang được chạy đồng thời.

Trong package.json, tôi đã thay đổi điều này:

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

đến điều này:

"start": "tsc && concurrently \"/Users/kyen/.node/bin/npm run tsc:w\" \"/Users/kyen/.node/bin/npm run lite\" ",

Tất nhiên, bạn sẽ cần cập nhật các đường dẫn chính xác dựa trên nơi lưu trữ các tệp nhị phân toàn cục của nút. Lưu ý rằng tôi không cần thêm đường dẫn vào lệnh tsc đầu tiên. Có vẻ như chỉ đồng thời cần các đường dẫn đầy đủ được chỉ định.


0

Tôi đã gặp lỗi tương tự. Và sau rất nhiều lần tìm kiếm, cuối cùng tôi đã tìm thấy cái này: Cài đặt và chạy ứng dụng Angular2 qua package.json . Sau đó, tôi đã cố gắng thay thế

"scripts": { "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ", "lite": "lite-server", "postinstall": "typings install", "tsc": "tsc", "tsc:w": "tsc -w", "typings": "typings" }, đến

"scripts": { "start": "concurrently \"npm run tsc:w\" \"npm run lite\" ", "lite": "lite-server", "postinstall": "typings install", "tsc": "tsc", "tsc:w": "tsc -w", "typings": "typings" },

Hy vọng nó sẽ giúp những người gặp lỗi tương tự.

PS: Lỗi của tôi không giống với Tomasz, đó là phiên bản npm của tôi là 3.7.3 và phiên bản nút là 5.9.1.


0

Gỡ cài đặt tất cả các gói nút hiện có. Cập nhật nút và npm. Vì nó được cung cấp trong tài liệu là ít nhất nút v5.xx và npm 3.xx nếu không nó sẽ gây ra lỗi.

Làm đi npm clean. Sau đó làm npm install, npm start.

Điều này đã giải quyết vấn đề cho tôi.


điều này không đúng, tài liệu thống kê ít nhất nút v4.xx angle.io/docs/ts/latest/…
Brad Woods

0

Đối với người dùng Ubuntu 16.x, cài đặt phiên bản 5.x mới nhất giải quyết vấn đề của tôi trong ubuntu

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

0

Có vẻ như có nhiều cách mà angle2-quickstart có thể không khởi động được. Tôi đã gặp vấn đề tương tự khi chạy Angular2 phiên bản 2.0.0 trong bản cài đặt mới của nút 6.6.0 / npm 3.10.3 trên Windows 7. Trong trường hợp của tôi khi chạy npm startđã phát sinh hàng tấn lỗi sắp chữ:

c:\git\angular2-quickstart>npm start

> angular2-quickstart@1.0.0 start c:\git\angular2-quickstart
> tsc && concurrently "npm run tsc:w" "npm run lite"

node_modules/@angular/common/src/directives/ng_class.d.ts(46,34): error TS2304: Cannot find name 'Set'.
node_modules/@angular/common/src/pipes/async_pipe.d.ts(39,38): error TS2304: Cannot find name 'Promise'.
(...)

Vấn đề này được thảo luận trong vấn đề khởi động nhanh góc # 63, "kiểu chữ" không được cài đặt đúng . Vé đó đưa ra cách khắc phục là

$ ./node_modules/.bin/typings install

mà đã làm việc cho tôi. (Tôi chưa chắc cách "đúng" để thực hiện việc này.)


0

Vui lòng đảm bảo tên chính xác, do đó thay đổi componenttrong boot.js thành components. nhập mô tả hình ảnh ở đây



0

Trong tệp package.json, tôi đã xóa dòng có "prestart": "npm run build". Đây dường như là một lệnh chặn và xảy ra trước khi bắt đầu (npm), do đó ngăn các lệnh bắt đầu khác.


0

Thay đổi start trong angle.json thành "start": "ng serve --host 0.0.0.0"hoặc "start": "lite-server"và run. Ngoài ra, hãy kiểm tra xem bạn đã cài đặt angle / cli đúng cách hay chưa.


0

Tôi hướng dẫn bắt đầu nhanh, tôi đã đi qua các bước cho đến khi npm start. Sau đó, tôi gặp lỗi này. Sau đó, tôi xóa node_modulesthư mục bên dưới angular-quickstartvà chạy npm installlại. Bây giờ nó hoạt động.


0

Nếu bạn sử dụng proxy, nó có thể gây ra lỗi này:

  1. npm config set proxy http://username:pass@proxy:port

  2. npm config set https-proxy http://username:pass@proxy:port

  3. tạo một tệp có tên .typingsrctrong thư mục ứng dụng của bạn bao gồm:

    • proxy = (giá trị ở bước 1)
    • https-proxy = (giá trị ở bước 1)
  4. chạy npm cache clean

  5. chạy npm install
  6. chạy npm typings install
  7. chạy npm start

nó sẽ hoạt động sau đó


Không, lỗi đang nhận: lỗi TS5023: Tùy chọn trình biên dịch không xác định 'moduleResolution'.
Christof Kälin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.