Редактировать
Меню
    наверх

    Сокращаем вывод в терминале при npm install

    cover image

    В npm 3 версии изменили отображение вывода и расположение файлов при установке пакетов. А так же много чего еще. И вывод списком всех зависимостей не всегда полезен, вот представьте, вы склонировали крупный проект и вводите команду npm install (npm i), и после некоторого времени появляется вывод в терминале из пару тысяч строк. По умолчанию все так и происходит.

    Пример вывода при установки enzyme:

    └─┬ enzyme@2.4.1
      ├─┬ cheerio@0.20.0
      │ ├─┬ css-select@1.2.0
      │ │ ├── boolbase@1.0.0
      │ │ ├── css-what@2.1.0
      │ │ ├── domutils@1.5.1
      │ │ └── nth-check@1.0.1
      │ ├─┬ dom-serializer@0.1.0
      │ │ └── domelementtype@1.1.3
      │ ├── entities@1.1.1
      │ ├─┬ htmlparser2@3.8.3
      │ │ ├── domelementtype@1.3.0
      │ │ ├── domhandler@2.3.0
      │ │ ├── entities@1.0.0
      │ │ └─┬ readable-stream@1.1.14
      │ │   └── isarray@0.0.1
      │ └─┬ jsdom@7.2.2
      │   ├── abab@1.0.3
      │   ├── acorn@2.7.0
      │   ├─┬ acorn-globals@1.0.9
      │   │ └── acorn@2.7.0
      │   ├── cssom@0.3.1
      │   ├── cssstyle@0.2.37
      │   ├─┬ escodegen@1.8.1
      │   │ ├── estraverse@1.9.3
      │   │ └── source-map@0.2.0
      │   ├── nwmatcher@1.3.8
      │   ├── parse5@1.5.1
      │   ├── symbol-tree@3.1.4
      │   ├── webidl-conversions@2.0.1
      │   ├─┬ whatwg-url-compat@0.6.5
      │   │ └── tr46@0.0.3
      │   └── xml-name-validator@2.0.1
      ├── is-subset@0.1.1
      ├── object-is@1.0.1
      ├── object.assign@4.0.4
      └── object.values@1.0.3
    

    А вот так будет выглядеть после правки конфига:

    └── enzyme@2.4.1
    

    Можно этого добиться несколькими способами,

    • добавлять флаг –depth=0 к команде установке npm install –depth=0

    • создать Makefile и добавить такую запись

      install:
        npm install --depth=0
      

      и запустить командой make install

    • править конфиг npm

    Думаю, что каждый раз прописывать npm instal –depth=0 не удобно, да и make install можно забыть ввести, все таки npm install (npm i) роднее. Так что придется править конфиг.

    Если кто не знал, у npm есть 2 конфига - локальный и глобальный, мы будем править глобальный.

    Для этого есть команда:

    npm config set depth 0
    

    Команда присвоит параметру depth значение 0, что нам и надо было. Чтобы проверить применилось ли наше изменение, есть команда get

    npm config get depth
    

    Она вернет текущее значение параметра depth. И теперь при каждой последующей установке npm пакетов, мы не будем видеть вывод всех зависимостей, а только тех, которые указанны в package.json файле.

    Информация о посте
    Колличество слов
    365
    Дата создания
    23 августа 2016
    Следующий пост
    Комментарии