Встановлення конкретного варіанту кутових з кутовими затискачами


78

Я шукав у google та angular cli doc, але не міг знайти спосіб встановити певну версію angular за допомогою angular cli. це взагалі можливо?


3
Прямого шляху немає, але ви можете створити новий проект, а потім просто змінити версії в package.jsonна те, що хочете.
Діністро

Ви можете перевірити цю відповідь stackoverflow.com/a/52067532/2275011 це спрацювало для мене
Фері

Відповіді:


36

Ви можете просто встановити package.json з певною версією і зробити npm installце, і він встановить цю версію. Також вам не потрібно залежати від angular-cliрозробки вашого проекту.


14
Але ви повинні залежати від CLI IMO. BTW вже не кутовий, а angular/cliзараз. Крім того, цеnpm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@latest
TR3B

Як ви вже сказали редагувати файл package.json, але де знаходиться цей файл package.json?
Ягнеш бхалала

Ви додаєте package.json автоматично, виконуючи npm init або створюючи його вручну у своїй кореневій папці проекту
Mario Petrovic

64

Щоб відповісти на ваше запитання, припустимо, що вас цікавить конкретна кутова версія, а НЕ конкретна версія angular-cli (все ж angular-cli - це просто інструмент).

Розумним кроком є ​​підтримка вашої версії angular -cli сумісною з вашою кутовою версією, інакше ви ризикуєте натрапити на проблеми несумісності. Тож отримання правильної версії angular-cli призведе до отримання бажаної кутової версії.

З цього припущення, ваше питання не про angular-cli , а про npm .

Ось шлях:

[КРОК 0 - НЕОБОВ’ЯЗКОВО]. Якщо ви не впевнені, яка версія angular-cli встановлена ​​у вашому середовищі, видаліть її.

npm uninstall -g @angular/cli

Потім запустіть (може знадобитися прапор --force)

npm cache clean

або, якщо ви використовуєте npm> 5.

npm cache verify

[КРОК 1] Встановіть специфічну версію angular-cli

npm install -g @angular/cli@wished.version.here

[КРОК 2] Створіть проект

ng new you-app-name

Отриманий білий додаток буде створений у потрібній кутовій версії.

ПРИМІТКА: Я не знайшов жодної сторінки, що відображала б матрицю сумісності angular та angular-cli . Тож, мабуть, єдиний спосіб дізнатись, яку версію angular-cli слід встановити, це спробувати різні версії, створити новий проект та package.jsonперевірити, щоб побачити, яка саме кутова версія використовується.

журнал змін кутових версій Ось журнал змін із перестановки github, де ви можете перевірити наявні версії та відмінності.

Сподіваюся, це допоможе


Слідуючи вашим крокам, під час npm встановіть -g @ angular-cli @ 1.7.4, отримуючи помилку, подібну до цієї npm ERR! Недійсна назва пакета "@ angular-cli": ім'я може містити лише символи, що відповідають URL-
адресам

2
@MPPNBD це має бути npm встановити -g @
angular

@ avi.elkharrat, О, вибачте за це, я це пропустив. npm install -g @ angular / cli @ 1.7.4 у мене спрацював. Велике спасибі avi.elkharrat
MPPNBD

25

Редагувати # 2 (02.07.2017)

Якщо ви встановите angular cli прямо зараз, ви, мабуть, отримаєте нову назву angular cli, яке є @angular/cli, тому вам потрібно видалити його за допомогою

npm uninstall -g @angular/cli

і дотримуйтесь наведеного вище коду. Я все ще отримую голоси за це, тому я оновив свою відповідь для тих, хто хоче використовувати стару версію з деяких причин.


Редагувати No1

Якщо ви дійсно хочете створити новий проект із попередньою версією Angular за допомогою cli, спробуйте знизити angular-cli до остаточного випуску. Щось на зразок:

npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@1.0.0-beta.32

Початковий

Ви можете змінити версію angular в package.json . Я думаю, ви хочете використовувати стару версію angular, але я пропоную вам використовувати останню версію. Використання:

ng new app-name

завжди використовуватиме останню версію angular.


1
Я використовую постачальника послуг BaaS, який досі не підтримує ng4.
Саджад,

1
@sajad це прикро. Я думаю, ви можете створити попередню версію angular з cli. Я відредагую свою відповідь
brijmcq

@brijmq Я особисто ніколи не бачив, щоб angular-cli "завжди використовував останню версію angular". Наприклад, прямо зараз, якщо ви оновите cli (1.1.3) глобально і створите з ним новий проект, ви отримаєте angular 4.0.0, хоча остання версія 4.2.4. Отже, що я намагався з’ясувати впродовж століть, чи періодично версія оновлюється новими кліп-релізами?
Джейсон Сімпсон,

@epiphanatic мій поганий і вибачте за плутанину. cli використовуватиме останню версію angular того часу, коли було зроблено оновлення cli. Вам потрібно буде вручну оновити його на своєму package.json у вашому додатку, якщо ви хочете оновити його. Випуск оновлень в angular відбувається набагато швидше, ніж angular-cli. Подивіться це посилання, щоб дізнатись більше angularjs.blogspot.com/2016/10/… . Сподіваюся, це
згладить

Просто додати, що npm cache cleanу мене не вийшло, і мені довелося скористатисяnpm cache clean --force
Калоян Стаматов,

13

У angular/cliверсії і їх встановлені angular/compilerверсії:

  • 1,0 - 1,4. X = ^ 4,0,0
  • 1,5.x = ^ 5,0,0
  • 1.6.x - 1.7.x = ^ 5.2.0
  • 6.x = ^ 6.0.0
  • 7.x = ^ 7.0.0

Це може бути підтверджено переглядом файлу angular/cli'' '' package.jsonу сховищі нового сховища . Потрібно було б встановити конкретну версію cli, щоб отримати конкретну кутову версію:

npm -g install @angular/cli@1.5.* # For ^5.0.0

9

Вкажіть потрібну версію в розділі 'залежностей' вашого package.json, а потім з вашої кореневої папки проекту на консолі / терміналі запустіть це:

npm install

Наприклад, нижче буде спеціально встановлено v4.3.4

"dependencies": {
    "@angular/common": "4.3.4",
    "@angular/compiler": "4.3.4",
    "@angular/core": "4.3.4",
    "@angular/forms": "4.3.4",
    "@angular/http": "4.3.4",
    "@angular/platform-browser": "4.3.4",
    "@angular/platform-browser-dynamic": "4.3.4",
    "@angular/router": "4.3.4",
  }

Ви також можете додати наступні модифікатори до номера версії, щоб змінити, наскільки конкретною вам повинна бути версія:

карет ^

Оновить вас до останньої основної версії, зазначеної першим номером:

^4.3.0

завантажить останній випуск 4.xx, але не завантажить 5.xx

тильда ~

Оновіть вас до останньої другорядної версії, як зазначено другим номером:

~4.3.0

завантажить останню версію 4.3.x, але не завантажить 4.4.x.


9

Так, можна встановити конкретну версію Angular за допомогою npm:

npm install -g @angular/cli@8.3.19

Далі вам потрібно використовувати команду ng new для створення проекту Angular на основі конкретної версії, яку ви використовували під час встановлення CLI:

ng new your-project-name

Це створить проект, заснований на Angular v8.3.19, версія якої була вказана під час встановлення Angular CLI.


7

Використовуйте таку команду, щоб встановити та знизити версію певної версії.
видалити cli

npm uninstall -g @angular/cli

очистити кеш npm

 npm cache clean --force

встановити cli

npm install -g @angular/cli@_choose_your_version

5

Якщо у вас все ще є проблеми і ви використовуєте nvm, обов’язково встановіть середовище nvm node.

Щоб вибрати останню встановлену версію. Щоб переглянути версії, використовуйте nvm list.

nvm use node
sudo npm remove -g @angular/cli
sudo npm install -g @angular/cli

Або для встановлення певної версії використовуйте:

sudo npm install -g @angular/cli@7.2

Якщо ви видаляєте помилки дозволу, використовуйте:

sudo npm install -g @angular/cli@7.2 --unsafe-perm

Дякую, але я думаю, що ви відповідаєте, це не має значення.
Сажад,



1

npx @angular/cli@10 new my-poject

ви можете замінити 10 на вибрану вами версію ... не потрібно видаляти існуючий CLI! Щойно дізнався, що зараз ...


0

використовуйте наступну команду, щоб встановити конкретну версію. скажімо, що ви хочете встановити angular / cli версію 1.6.8, а потім введіть таку команду:

sudo npm install -g @angular/cli@1.6.8

це встановить angular/cli version 1.6.8


Не відповідає на питання.
Саджад,

0

Я б запропонував використовувати NVM для збереження різних версій node та npm, а потім встановити сумісний angular-cli

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.