Угловой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
- nodejs httprequest с данными - получение ошибки getaddrinfo ENOENT
- Как я могу отладить мое приложение Meteor с помощью WebStorm IDE?
- bodyParser - устаревший express 4
- Почему Node.js однопоточный?
- Как я могу получить список обратных вызовов в рабочей очереди узла? (или, почему Node не выйдет?)
Может быть, кто-то может помочь решить проблему :)?
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);
- Преобразование документов Mongoose в json
- Узел: войдите в файл вместо консоли
- Как я могу указать нужную версию Node.js в packages.json?
- Как разобрать HTML-страницу с помощью Node.js
- Как вернуть результаты Mongoose из метода поиска?
- Как рисовать с помощью Mongoose в Node.js?
- Heroku NodeJS http to https ssl принудительное redirect
- Изменить расположение узла node_modules
Измените поле 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);
Примечание. – Убедитесь, что вы указали правильный путь ссылки .
- В devDependencies машинописный шрифт равен 1.7.3, но у вас есть 1.7.5 fix common.
- Импортируйте файлы js в правильном порядке в
index.html
. для получения дополнительной информации обратитесь к этому репозиторию https://github.com/pkozlowski-opensource/ng2-play/blob/master/index.html или обратитесь к моему репозиторию здесь
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
Попробуй это:
- Установить последние версии npm / nodejs Я очистил установку npm
- После этого установите tsd
npm install -g tsd
- Затем клонировать https://github.com/johnpapa/angular2-tour-of-heroes.git
- Наконец,
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
.
Это решило проблему для меня.
Если вы используете прокси-сервер, это может вызвать эту ошибку:
-
npm config set proxy http: // имя пользователя: pass @ proxy: порт
-
npm config set https-proxy http: // имя пользователя: pass @ proxy: порт
-
создайте имя файла .typingsrc в папке вашего приложения, которое включает
proxy = (значение на шаге 1) https-proxy = (значение на шаге 1)
- запустить кеш npm
- запустить npm install
- запустить npm typings install
- запуск 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, чтобы решить проблему.