На самом деле это не ошибка, но мы поднимаем его, чтобы обсудить потенциальное влияние изменений npx
в средах CI.
npx mocha
Need to install the following packages:
mocha
Ok to proceed? (y)
npx -y mocha
работает, чтобы получить автоматическую установку, но это потребует от пользователей обновления своих сценариев CI.
Кроме того, ошибки npx -y mocha
в npm @ 6 с:
npx -y mocha
ERROR: You must supply a command.
Execute binaries from npm packages.
npx [options] <command>[@version] [command-arg]...
Я думаю, что это усложнит логику, требуемую в сценариях CI при работе с несколькими версиями Node.js / npm.
_Просто использую Mocha в качестве примера. В Node.js мы используем npx в нашей конфигурации GH Actions , которая, как я подозреваю, будет нарушена, когда GH Actions обновится для использования версии Node.js, содержащей
npx <module>
в среде CI./ cc @MylesBorins @richardlau
@ruyadorno упомянул в сослаться на контекст этого решения?
привет @BethGriggs, спасибо, что сообщили нам 😄
Стоит упомянуть, что для неинтерактивных терминалов мы собираемся пропатчить (ref # 1936) npx
только на WARN, вместо того, чтобы бросать, поэтому любая комбинация конвейеров Unix также избегает запроса / подтверждения:
npx mocha < /dev/null
как также упоминалось в канале Slack: npm_config_yes=true npx mocha
- это его рабочая версия, совместимая с npm6-7
сегодня мы опубликовали 7.0.0-rc.4, который пропускает приглашение, но выводит предупреждение при запуске в неинтерактивной среде. таким образом вы все равно будете предупреждены о том, что что-то устанавливается, но мы не ломаемся в средах CI.
для интерактивных сред вышеупомянутый обходной путь должен помочь.
Вы можете сообщить нам, решит ли это вашу проблему @BethGriggs?
сегодня мы опубликовали 7.0.0-rc.4, который пропускает приглашение, но выводит предупреждение при запуске в неинтерактивной среде. таким образом вы все равно будете предупреждены о том, что что-то устанавливается, но мы не ломаемся в средах CI.
для интерактивных сред вышеупомянутый обходной путь должен помочь.
Вы можете сообщить нам, решит ли это вашу проблему @BethGriggs?
root<strong i="9">@localhost</strong> ~# npm install -g [email protected]
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'agentkeepalive'
npm ERR! Require stack:
npm ERR! - /usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/agent.js
npm ERR! - /usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/index.js
npm ERR! - /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/index.js
npm ERR! - /usr/local/lib/node_modules/npm/lib/utils/metrics.js
npm ERR! - /usr/local/lib/node_modules/npm/lib/npm.js
npm ERR! - /usr/local/lib/node_modules/npm/lib/cli.js
npm ERR! - /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-10-10T03_17_28_890Z-debug.log
Вы можете сообщить нам, решит ли это вашу проблему @BethGriggs?
Я думаю, что проблема была решена, чтобы уменьшить влияние в средах CI, спасибо!
закрытие, так как исходная проблема решена.
@gengjiawen, если вы можете воспроизвести проблему, с которой вы столкнулись при обновлении, пожалуйста, откройте другую проблему, и мы можем обсудить ее там
FWIW, я наткнулся на это в TravisCI: https://travis-ci.com/github/kentcdodds/advanced-react-hooks/builds/191260988
Я думаю , что оригинальная обеспокоенность тем , что @BethGriggs "по - прежнему является проблема 😬
хммм 🤔 может быть, нам также следует проверить среду, используя @npmcli/ci-detect
поверх проверки process.stdin.isTTY
@nlf ?
Попадание и это тоже сломало все наши сценарии CI ... Почему вы внесли критическое изменение в второстепенный выпуск / выпуск исправления?
Для всех, у кого есть эта проблема в Circle CI, вы можете установить глобальную переменную среды, чтобы установить для переменной npm_config_yes
значение true
для всех ваших заданий.
@FezVrasta изменение произошло в 7.0.0 Semver-Major. Мы думали, что исправили проблему CI, проверив TTY, но, похоже, есть крайние случаи, которые мы пропустили. Похоже, что # 2047 открыт, чтобы, надеюсь, исправить это для других сред CI
мы опубликовали сегодня версию 7.0.6, которая, надеюсь, решит эту проблему. Теперь мы полностью пропускаем приглашение, если вы работаете в среде CI.
дайте нам знать, если у вас останутся проблемы!
Сейчас у нас работает: https://github.com/testing-library/react-testing-library/pull/809/files
Спасибо за быстрое исправление!
Вопрос: когда npx7 запрашивает, а затем пользователь устанавливает отсутствующий пакет,
Самый полезный комментарий
мы опубликовали сегодня версию 7.0.6, которая, надеюсь, решит эту проблему. Теперь мы полностью пропускаем приглашение, если вы работаете в среде CI.
дайте нам знать, если у вас останутся проблемы!