Yarn: Добавление скрипта в package.json под названием «install» создает бесконечный цикл.

Созданный на 19 окт. 2016  ·  3Комментарии  ·  Источник: yarnpkg/yarn

Вы хотите запросить _функцию_ или сообщить _ об ошибке?

Ошибка

Если текущее поведение является ошибкой, укажите шаги для воспроизведения.

Добавьте это в свой package.json :

  "scripts": {
    "install": "yarn install --ignore-optional",
  },

Запустить

yarn install

Каково текущее поведение?

> yarn install
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
Terminate batch job (Y/N)?
yarn install v0.16.0
Terminate batch job (Y/N)?
^C

Какое ожидаемое поведение?

Нет бесконечного цикла. Возможно, скопируйте то, что делает Composer: выдает это предупреждение:

Сценарий с именем install переопределит команду Composer и был пропущен

А затем продолжает встроенную команду.

Пожалуйста, укажите ваш node.js, yarn и версию операционной системы.

Узел: v6.3.1
Пряжа: 0,16,0
ОС: Win10 Anniversary

Самый полезный комментарий

Честно говоря, это похоже на преднамеренное поведение, я не думаю, что мы должны делать что-либо явно для обнаружения команды yarn install, поскольку мы не знаем местоположение исходного двоичного файла, и любое обнаружение будет небрежным. install - это допустимая ловушка сценария жизненного цикла, и мы выполняем ее правильно, ничего не игнорируется.

Все 3 Комментарий

Переезд в # 1374

Честно говоря, это похоже на преднамеренное поведение, я не думаю, что мы должны делать что-либо явно для обнаружения команды yarn install, поскольку мы не знаем местоположение исходного двоичного файла, и любое обнаружение будет небрежным. install - это допустимая ловушка сценария жизненного цикла, и мы выполняем ее правильно, ничего не игнорируется.

@kittens Меня очень смутил ваш ответ, пока я не поискал в Google "сценарии жизненного цикла npm" и не наткнулся на это .

На самом деле я не знал, что install - это особая вещь, которую _предполагалось_ запускать после yarn/npm install - я думал, что это обычный скрипт. Я не знал, что он сработает автоматически после yarn install ; Я просто хотел запустить его вручную через yarn run install .

В таком случае это имеет смысл. Извините, @wyze и @thejameskyle - спасибо, что серьезно отнеслись к моему отчету о проблеме, но я думаю, что @kittens действительно здесь. Это произошло из-за моего собственного недопонимания. Я не думаю, что вам нужно пытаться обнаружить эту ситуацию.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги