Ini sebenarnya bukan bug, tetapi mengangkatnya untuk membahas dampak potensial dari perubahan ke npx
di lingkungan CI.
npx mocha
Need to install the following packages:
mocha
Ok to proceed? (y)
npx -y mocha
berfungsi untuk mendapatkan perilaku penginstalan otomatis, tetapi pengguna perlu memperbarui skrip CI mereka.
Juga, kesalahan npx -y mocha
di npm @ 6 dengan:
npx -y mocha
ERROR: You must supply a command.
Execute binaries from npm packages.
npx [options] <command>[@version] [command-arg]...
Saya pikir itu akan memperumit logika yang diperlukan dalam skrip CI saat menjalankan beberapa versi Node.js / npm.
_Hanya menggunakan Mocha sebagai contoh. Di Node.js, kami menggunakan npx dalam konfigurasi Tindakan GH kami , yang saya curigai akan rusak saat Tindakan GH memperbarui untuk menggunakan versi Node.js yang berisi npm@7._
npx <module>
dalam lingkungan CI./ cc @MylesBorins @richardlau
@ruyadorno menyebutkan dalam percakapan kendur bahwa ini adalah perubahan yang disengaja, dapatkah seseorang menautkan ke konteks untuk keputusan tersebut?
hai @BethGriggs terima kasih telah memberi tahu kami 😄
Perlu disebutkan bahwa untuk terminal non-interaktif kita akan menambal (ref # 1936) npx
hanya menjadi WARN daripada membuang sehingga kombinasi pipeline Unix juga akan menghindari prompt / konfirmasi:
npx mocha < /dev/null
seperti yang juga disebutkan di saluran slack: npm_config_yes=true npx mocha
adalah versi compat npm6-7 yang berfungsi
kami menerbitkan 7.0.0-rc.4 hari ini yang melewatkan prompt, tetapi mencetak peringatan, ketika dijalankan di lingkungan non-interaktif. dengan cara itu Anda masih diberi tahu bahwa ada sesuatu yang sedang diinstal tetapi kami tidak merusak lingkungan CI.
untuk lingkungan interaktif, solusi di atas harus berhasil.
dapatkah Anda memberi tahu kami jika ini menyelesaikan masalah Anda @BethGriggs?
kami menerbitkan 7.0.0-rc.4 hari ini yang melewatkan prompt, tetapi mencetak peringatan, ketika dijalankan di lingkungan non-interaktif. dengan cara itu Anda masih diberi tahu bahwa ada sesuatu yang sedang diinstal tetapi kami tidak merusak lingkungan CI.
untuk lingkungan interaktif, solusi di atas harus berhasil.
dapatkah Anda memberi tahu kami jika ini menyelesaikan masalah Anda @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
dapatkah Anda memberi tahu kami jika ini menyelesaikan masalah Anda @BethGriggs?
Saya pikir perhatian telah diatasi untuk mengurangi dampak di lingkungan CI, terima kasih!
ditutup sejak masalah asli diselesaikan.
@gengjiawen jika Anda dapat mereproduksi masalah yang Anda perbarui, harap buka masalah lain dan kita dapat mendiskusikannya di sana
FWIW, saya menemukan ini di TravisCI: https://travis-ci.com/github/kentcdodds/advanced-react-hooks/builds/191260988
Saya pikir perhatian asli @BethGriggs masih menjadi masalah 😬
hmmm 🤔 mungkin kita juga harus memeriksa lingkungan menggunakan @npmcli/ci-detect
process.stdin.isTTY
selain memeriksa process.stdin.isTTY
@nlf ?
Memukul ini juga, itu merusak semua skrip CI kami ... Mengapa Anda memperkenalkan perubahan yang mengganggu dalam rilis minor / patch?
Bagi siapa pun yang mengalami masalah ini di Circle CI, Anda dapat mengatur variabel lingkungan global untuk mengatur variabel npm_config_yes
menjadi true
untuk semua pekerjaan Anda
@FezVrasta perubahan datang dalam perubahan 7.0.0 Semver-Major. Kami pikir kami memperbaiki masalah CI dengan memeriksa TTY, tetapi tampaknya ada kasus tepi yang kami lewatkan. Sepertinya # 2047 terbuka untuk semoga memperbaiki ini untuk lebih banyak lingkungan CI
kami menerbitkan 7.0.6 hari ini yang semoga dapat menyelesaikan masalah ini. kita sekarang melewatkan prompt sepenuhnya jika Anda tampaknya berjalan di lingkungan CI.
beri tahu kami jika Anda terus mengalami masalah!
Bekerja untuk kami sekarang: https://github.com/testing-library/react-testing-library/pull/809/files
Terima kasih atas perbaikan cepatnya!
Pertanyaan: ketika npx7 meminta dan kemudian pengguna menginstal paket yang hilang,
Komentar yang paling membantu
kami menerbitkan 7.0.6 hari ini yang semoga dapat menyelesaikan masalah ini. kita sekarang melewatkan prompt sepenuhnya jika Anda tampaknya berjalan di lingkungan CI.
beri tahu kami jika Anda terus mengalami masalah!