Угловой2 Быстрый запуск npm не работает правильно

Файловая структура

Я знаю, что только что выпущена бета Angular2, но я не могу воспроизвести шаги из своего официального учебника по сайту ( https://angular.io/guide/quickstart ). Может быть, у кого-то были подобные проблемы и он знает, что делать, чтобы исправить это? Когда я пытаюсь запустить приложение с помощью команды npm start я получаю вывод следующим образом:

 0 info it worked if it ends with ok 1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ] 2 info using [email protected] 3 info using [email protected] 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info prestart [email protected] 6 info start [email protected] 7 verbose unsafe-perm in lifecycle true 8 info [email protected] Failed to exec start script 9 verbose stack Error: [email protected] start: `concurrent "npm run tsc:w" "npm run lite" ` 9 verbose stack Exit status 127 9 verbose stack at EventEmitter. (/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. (/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 [email protected] 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 [email protected] start: `concurrent "npm run tsc:w" "npm run lite" ` 17 error Exit status 127 18 error Failed at the [email protected] 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 ] 

У меня был: версия версии 1.7.5 версии версии 0.12.2

Может быть, кто-то может помочь решить проблему :)?

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:

   Angular 2 QuickStart         System.config({ packages: { app: { format: 'register', defaultExtension: 'js' } } }); System.import('app/boot') .then(null, console.error.bind(console));     Loading...   

app.components.ts:

 import {Component} from 'angular2/core'; @Component({ selector: 'my-app', template: '

My First Angular 2 App

', }) export class AppComponent {}

boot.js:

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

Измените поле start в package.json из

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

в

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

Чтобы запустить npm start для меня, мне нужно было убедиться, что во всем мире были установлены некоторые из devDependencies. Ты пробовал:

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

Сначала вам нужно обновить npm, lite-server и машинописный текст:

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

Удалите папку node_modules из каталога углового проекта (если есть). Следующий запуск:

 npm install 

После этого разрешите ошибки ENOSPC:

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

В заключение:

 npm start 

Это мой файл package.json:

 { "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" } } 

У меня была такая же ошибка в Windows 10. Похоже, что это проблема с одновременным пакетом npm. Я нашел 2 варианта, как решить эту ошибку:

1. Запустите обе команды в 2 отдельных cmds:

– в первом запуске npm run tsc: w

– во втором npm run lite

2. Измените package.json

– просто измените этот вариант:

"start": "tsc && npm run tsc:w | npm run lite",

Вот как я решил проблему сегодня после нескольких часов попробовать все эти различные решения – (для тех, кто ищет еще один способ по-прежнему).

Откройте 2 экземпляра cmd в вашем быстром старте:

окно # 1:

 npm run build:watch 

тогда…

окно # 2:

 npm run serve 

Затем он откроется в браузере и будет работать как ожидается

У меня была аналогичная проблема после копирования папки углового2-quickstart (включая node_modules), чтобы создать папку угловых2-tour-of-heroes. Это было странно, потому что оригинал компилировался отлично, но копия не была …

 npm run tsc 

Я смог решить проблему, удалив папку node_modules и перезапустив установку npm .

Это было для меня неожиданностью, поэтому я сделал разницу между двумя папками …

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

было много различий, много «где» различается в файлах package.json:

 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" 

… какой смысл, но были и такие:

 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) 

… которые я вообще не понимаю.

Ну, надеюсь, это поможет.

Измените поле start в package.json из:

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

Для того, чтобы:

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

Это действительно помогло.

Этот ответ связан с отличным курсом Pluralsight «Угловые 2 Основы» Джима Купера.

Если мне нравится, что у вас возникли проблемы с запуском команды npm start на компьютере с Windows 10, я предлагаю следующее:

Запустите git bash как администратор (следуйте инструкциям в видео) Перейдите в каталог проекта ( основные принципы ng2 ) и введите следующие команды:

 npm config get registry npm cache clean npm install 

По завершении установки вам необходимо будет изменить файл get-shell.js, расположенный в модуле оболочки spawn-default-shell внутри папки node_modules следующим образом:

Измените следующее:

 const DETECT_SH_REGEX = /sh$/; 

к этому:

 const DETECT_SH_REGEX = /sh/; 

Обратите внимание, что $ удалено с конца строки sh (кредит оригинальному автору этого исправления alfian777, который разместил решение на github )

Сохраните файл, а затем перейдите в консоль git bash и введите npm start

Теперь вы не должны видеть никаких ошибок, и страница localhost запустится в браузере по умолчанию (в качестве альтернативы откройте свой браузер и перейдите к http: // localhost: 8808 / ).

Ни один из этих ответов не помог Ubuntu . Наконец, я столкнулся с решением от John Papa (автор Lite-сервера).

На Ubuntu 15.10 ускоритель Angular 2 Quick Start ожил после запуска этого терминала:

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

По-видимому, это увеличивает количество доступных Файловых часов.

Источник ответа: https://github.com/johnpapa/lite-server/issues/9

Я столкнулся с этой же проблемой. Однако ни один из вышеперечисленных ответов не был правильным решением для меня. Оказывается, это объясняется большей частью моей средой dev, чем любая из версий вещей.

Поскольку я использовал Visual Studio Code, я создал задачу сборки в VSC для компиляции TypeScript в качестве наблюдателя. Это была проблема. VSC уже запустил задачу NPM для TSC, поэтому при выполнении сценария «start» учебника возникли проблемы с тем, что VSC все еще работает TSC -w.

Я остановил задачу в VSC и перезапустил скрипт «start», и все получилось просто отлично.

Решение A: остановка и запуск npm

  • Команда VSC> Задачи: Завершить выполнение задач
  • Начало терминала $ npm

После этого, чтобы все работало, я меняю стартовый скрипт, чтобы просто запустить сервер, а не запускать TSC.

Решение B: изменить сценарий запуска npm

  • замещать

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

  • с

    "start": "npm run lite"

Решение C: просто запустите команду сервера Lite

 `npm run lite` 

Я решил проблему с помощью программы Quick Start, выполнив следующую ссылку.

Ошибка Angular 2 QuickStart Live-server

Изменение настроек сценария Package.json

«start»: «tsc && одновременно» npm запустить tsc: w \ “\” npm run lite \ “,

в

«start»: «одновременно» npm run tsc: w \ “\” npm run lite \ “”,

Этот ответ предназначен только для пользователей Windows 10, и, как вы увидите ниже, я подозреваю, что проблема происходит только для этих пользователей:

Чтобы узнать, что происходит, вы можете запустить команду в PowerShell, и она скажет вам, в чем проблема:

 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 

В основном, сообщение объясняет, что токен «&&» еще не действителен с Windows 10. И для тех, кто задается вопросом, та же команда, заменяющая && с помощью &, сообщила нам, что оператор амперсанда зарезервирован для будущего использования:

  (&) 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. 

Выводы :

  • если вы хотите вручную запустить эту команду из powershell, вы можете использовать это вместо этого:

    tsc “и” одновременно “tsc -w” “lite-server”

  • если вы хотите запустить приложение с запуском npm, замените стартовую строку в вашем пакете.json:

    «start»: «tsc и одновременно» tsc -w \ “\” lite-server \ “”

  • альтернативно, ответ пользователя60108 также работает, потому что он не использует амперсанд:

    «start»: «одновременно» npm run tsc: w \ “\” npm run lite \ “”

Скорее всего, ваша версия NPM устарела, я недавно получил это на машине разработчика на работе, введите:

 npm -v 

Если это что-то меньшее, чем текущая стабильная версия, и вы можете просто обновить свою установку Node.js отсюда https://nodejs.org/en/ 🙂

Это сработало, поместите /// в начало файла bootstraping.

Например:-

В boot.ts

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

Примечание. – Убедитесь, что вы указали правильный путь ссылки .

  1. В devDependencies машинописный шрифт равен 1.7.3, но у вас есть 1.7.5 fix common.
  2. Импортируйте файлы js в правильном порядке в index.html . для получения дополнительной информации обратитесь к этому репозиторию https://github.com/pkozlowski-opensource/ng2-play/blob/master/index.html или обратитесь к моему репозиторию здесь

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

index.html

          

Я могу воспроизвести шаги без каких-либо проблем.

Пожалуйста попробуйте:

(1) удалите эту строку из вашего index.html

  

(2) изменить файл: app.components.ts , удалить «,» в конце строки в поле шаблона

 @Component({ selector: 'my-app', template: '

My First Angular 2 App

' })

Вот моя среда:

 $ node -v v5.2.0 $ npm -v 3.3.12 $ tsc -v message TS6029: Version 1.7.5 

Пожалуйста, обратитесь к этому репо для моей работы: https://github.com/AlanJui/ng2-quick-start

Попробуй это:

  1. Установить последние версии npm / nodejs Я очистил установку npm
  2. После этого установите tsd npm install -g tsd
  3. Затем клонировать https://github.com/johnpapa/angular2-tour-of-heroes.git
  4. Наконец, npm i и npm start

Установка пакетов по всему миру – это один из способов сделать это, но это ограничивает использование одной и той же версии во всех проектах, в которых они используются.

Вместо этого вы можете ./node_modules/.bin свои npm-скрипты с помощью ./node_modules/.bin . В вашем случае package.json будет выглядеть так:

 { "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" } } 

Я думаю, что npm должен поставлять ./node_modules/.bin перед каждой командой «script», которая находится в этом каталоге по умолчанию, поэтому исходный package.json выглядел так, как он делал. Я не уверен, что эта функция присутствует в каждом выпуске npm, или если есть какая-то настройка конфигурации, которую вы должны указать. Стоит посмотреть!

У меня была та же проблема, мы оба забыли включить здесь ‘s’ на компоненты:

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

Должно быть:

boot.js:

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

У меня была такая же ошибка в OS X (узлы v6.2.0 и npm v3.9.3, установленные с доморощенным), и она не была решена ни одним из вышеперечисленных. Мне пришлось добавлять полные пути к командам, выполняемым одновременно.

В package.json я изменил это:

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

к этому:

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

Конечно, вам нужно будет обновить правильные пути, основанные на том, где хранятся глобальные двоичные файлы узла. Обратите внимание, что мне не нужно было добавлять путь к первой команде tsc. Кажется, что одновременно требуются только указанные пути.

Я встретил ту же ошибку. И после большого поиска я наконец нашел это: приложение Angular2 install & run через package.json . Затем я попытался заменить

"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" }, to

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

Надеюсь, это поможет тем, кто получает ту же ошибку.

PS: Моя ошибка – это не то же самое, что Tomasz, то есть моя версия npm – 3.7.3, а версия узла – 5.9.1.

Удалите все существующие пакеты узлов. Обновить узел и npm. Поскольку он указан в документации как минимум на узле v5.xx и npm 3.xx, это приведет к ошибкам.

npm clean . Затем выполните npm install , npm start .

Это решило проблему для меня.

Если вы используете прокси-сервер, это может вызвать эту ошибку:

  1. npm config set proxy http: // имя пользователя: pass @ proxy: порт

  2. npm config set https-proxy http: // имя пользователя: pass @ proxy: порт

  3. создайте имя файла .typingsrc в папке вашего приложения, которое включает

proxy = (значение на шаге 1) https-proxy = (значение на шаге 1)

  1. запустить кеш npm
  2. запустить npm install
  3. запустить npm typings install
  4. запуск npm

он будет работать тогда

добавьте следующий раздел в tsconfig.json

  "compilerOptions": { "target": "es5", "module": "system", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false 

}

и в \ node_modules \ typings \ typings.json

  "ambientDependencies": { "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim /es6-shim.d.ts#6697d6f7dadbf5773cb40ecda35a76027e0783b2" } 

После этого он работает для меня.

Для пользователей Ubuntu 16.x установка последней версии 5.x разрешает мою проблему в ubuntu

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

По-видимому, существует более чем один способ, с помощью которого угловой 2-быстрый запуск может не запускаться. У меня была та же проблема, что и версия Angular2 версии 2.0.0 под новой установкой узла 6.6.0 / npm 3.10.3 в Windows 7. В моем случае запуск npm start сбрасывать тонну ошибок машинописного текста:

 c:\git\angular2-quickstart>npm start > [email protected] 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'. (...) 

Эта проблема обсуждается в проблеме углового быстрого запуска № 63, «типизация» не установлена ​​правильно . Этот билет дает исправление как

 $ ./node_modules/.bin/typings install 

который работал для меня. (Я не уверен в правильном способе сделать это.)

Я быстро начал учебник, я прошел все шаги до «npm start». Тогда я получил эту ошибку. Затем я удалил папку node_modules под угловым быстрым стартом и снова запустил npm. Теперь это работает.

Убедитесь, что имена верны, и, таким образом, измените component в boot.js на components . введите описание изображения здесь

Перейдите по адресу https://github.com/npm/npm/issues/14075 . И попробуйте ответ juaniliska. Может, поможет.

npm config получить реестр

npm cache clean

Установка npm

В моем случае мне просто нужно было добавить фиктивный файл .ts. Я создал файл test.ts без содержимого и запустил npm, чтобы решить проблему.

Давайте будем гением компьютера.