Использование разветвленного Angular-CLI в приложении Angular 4 с NPM - PullRequest
0 голосов
/ 17 мая 2019

У меня есть приложение, в котором я пытаюсь использовать разветвленную версию Angular CLI 1.7.4 (https://github.com/angular/angular-cli/releases/tag/v1.7.4).. Я разбудил и изменил, но сейчас я пытаюсь использовать этот пакет в своем Angular 4application.

Проблема заключается в том, что при установке пакета с использованием NPM я получаю сообщение об ошибке Yarn Please use Yarn instead of NPM to install dependencies.. Когда я сравниваю необработанные архивы из NPM (Original и Forked), я замечаю много различий в доступных файлах и папках.

Я понимаю, что должен был выполнить первоначальный откат до обновления пакетов. Это сделало бы коммиты более ценными в расследовании. Однако в этот момент мне нужно перейти к другому проекту, и я не будубыть в состоянии попробовать это некоторое время.

Шаги, которые я следовал к этому пункту:

  1. Fork Angular-CLI через GitHub.
  2. Сбросить голову до последней 1.7.4 commit (git reset --hard 0b291ab).
  3. Обновите необходимые пакеты в разветвленном пакете, используя npm (less и node-sass).
  4. Запустите команды Yarn (yarn, затем yarn link)) как дездесь: https://github.com/angular/angular-cli
  5. Публикация в npm (npm publish).
  6. Установка пакета npm в приложение Angular 4 (я пробовал использовать NPM через npm install angularcli-patched-cryptiles и GitHub через npm install applegater/angular-cli как источники установки, но каждый из них имеет одинаковый результат)

Как мне опубликовать мой форк для использования в приложении Angular 4 с использованием NPM?Должен ли я отказаться от команд yarn?

Ошибка пряжи при запуске npm install:

PS C:\SourceCode\patchedapp> npm install applegater/angular-cli
npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.

> angularcli-patched-cryptiles@1.7.5 preinstall C:\SourceCode\patchedapp\node_modules\angularcli-patched-cryptiles
> node ./tools/yarn/check-yarn.js

C:\SourceCode\patchedapp\node_modules\angularcli-patched-cryptiles\tools\yarn\check-yarn.js:12
  throw new Error(
  ^

Error: Please use Yarn instead of NPM to install dependencies. See: https://yarnpkg.com/lang/en/docs/install/
    at Object.<anonymous> (C:\SourceCode\patchedapp\node_modules\angularcli-patched-cryptiles\tools\yarn\check-yarn.js:12:9)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm WARN rollback Rolling back source-map@0.4.4 failed (this is probably harmless): EPERM: operation not permitted, scandir 'C:\SourceCode\patchedapp\node_modules\scss-tokenizer\node_modules'
npm WARN rollback Rolling back faye-websocket@0.11.1 failed (this is probably harmless): EPERM: operation not permitted, lstat 'C:\SourceCode\patchedapp\node_modules\sockjs-client\node_modules'npm WARN @ngrx/effects@2.0.2 requires a peer of @angular/core@^2.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @ngrx/store@2.2.1 requires a peer of @angular/core@^2.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@2.1.1 requires a peer of tslint@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ng2-charts@1.5.0 requires a peer of @angular/common@^2.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN ng2-charts@1.5.0 requires a peer of @angular/core@^2.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! angularcli-patched-cryptiles@1.7.5 preinstall: `node ./tools/yarn/check-yarn.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angularcli-patched-cryptiles@1.7.5 preinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\<username>\AppData\Roaming\npm-cache\_logs\2019-05-17T12_27_02_933Z-debug.log

Разница между исходными (слева) и разветвленными (справа) тарболами npm.enter image description here

Разветвленный репо: https://github.com/applegater/angular-cli

NPM: https://www.npmjs.com/package/angularcli-patched-cryptiles

1 Ответ

0 голосов
/ 18 мая 2019

Я понял это!Угловой CLI 7 изменен с npm на yarn.При разрешении конфликтов с первоначальным откатом git извлек некоторые дополнительные yarn файлы из Angular CLI 7. Чтобы обойти это, я создал новое репо (не основанное на форке cli) и зафиксировал версию cli 1.7.4там.Теперь он устанавливает!

...