saya ingin menggunakan "benang" di proyek npm saya
ketika menjalankan shell " benang " di shell,
itu melempar " KESALAHAN: Tidak ada skenario; harus memiliki setidaknya satu. "
apa masalahnya?
benang --versi
0.27
simpul -v
v6.9.5
uname -a
Linux wfx-pc 4.4.0-3-deepin-amd64 #1 SMP Deepin 4.4.30-2 (2016-12-01) x86_64 GNU/Linux
@wangfaxi1985 , silakan periksa kembali versi yarn
Anda, versi terbaru adalah 0.21.3
dan versi yang di-tag adalah 0.22.0-0
.
Periksa juga apakah Anda menjalankan perintah yarn
di folder tempat package.json
Anda berada
Terima kasih
Anda salah yarn
Benang yang Anda jalankan berasal dari paket cmdtest
: http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. html. Menghapus instalasi cmdtest
akan memperbaiki ini. Setelah Anda mencopot pemasangannya, ikuti petunjuk di https://yarnpkg.com/en/docs/install#linux -tab untuk menambahkan repo Benang:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
cmdtest
tampaknya diinstal secara default di Ubuntu 17.04 setidaknya, jadi mungkin ini harus ditambahkan ke petunjuk instalasi...
Bagi siapa saja yang menemukan ini, jika Anda mendapatkan kesalahan pada sudo apt-get install yarn
jalankan sudo apt remove cmdtest
terlebih dahulu.
Di Ubuntu (setidaknya 17.04), setelah Anda sudo apt remove cmdtest
, pertama-tama ikuti https://yarnpkg.com/en/docs/install#linux-tab > Ubuntu. Hanya kemudian sudo apt-get install yarn
. Jika Anda tidak mengikuti https://yarnpkg.com/en/docs/install#linux -tab, maka menjalankan sudo apt-get install yarn
akan menginstal cmdtest
lagi.
Di Ubuntu 17.10 saya tidak dapat menginstal yarn - saya menghapus paket cmdtest
, tetapi sudo apt-get install yarn
install ulang cmdtest
.
@istas Saya memiliki masalah yang sama seperti yang Anda lakukan. cmdtest masih terpasang meskipun saya menghapusnya terlebih dahulu. Bagaimana cara saya mendapatkan benang di Ubuntu 17.10?
Untuk Ubuntu 17.10, coba solusinya:
sudo apt remove cmdtest
sudo apt install npm
sudo npm install -g yarn
Untuk Ubuntu 17.10, Anda perlu menambahkan repo Benang terlebih dahulu.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt remove cmdtest
sudo apt install yarn
Pastikan Anda menghapus cmdtest jika Anda sudah menginstalnya.
Lebih suka ini untuk menginstal melalui npm.
@jdorleans - Anda tidak perlu menginstal npm jika Anda menggunakan Benang :)
@jdorleans Terima kasih atas komentar Anda. Saya telah berhasil menginstal benang dengan menggunakan npm install -g yarn
.
Ubuntu: beri nama biner dari node
package nodejs
, tetapi juga biarkan biner cmdtest
menjadi yarn
Ini akan jauh lebih mudah jika alih-alih menginstalnya sebagai root, itu diinstal di ruang pengguna.
@cserpell Anda dapat melakukannya jika Anda suka. Ada skrip penginstalan yang dapat Anda gunakan, atau Anda bisa mengunduh tarball Benang dan mengekstraknya di mana pun Anda mau. Detailnya ada di situs. Terlepas dari itu, Anda masih akan mengalami masalah memiliki beberapa binari yarn
yang berbeda jika Anda telah menginstal cmdtest
.
@sheerun Agar adil, cmdtest
menggunakan perintah yarn
terlebih dahulu, bahkan sebelum Yarn ada.
@ Daniel15 Itulah yang saya lakukan, khususnya karena saya tidak dapat menginstal program tempat saya bekerja. Triknya hanya mengganti biner yang diinstal dengan direktori bin
saya sendiri.
Saya mengalami masalah yang sama di Ubuntu 18.04 namun saya dapat memperbaikinya menggunakan perintah berikut:
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
@ Daniel15 Saya mengikuti instruksi Anda di komentar sebelumnya dan mencoba menginstal ulang benang lagi.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key tambahkan -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install benang
setelah memeriksa versinya, saya menemukan versinya adalah 1.5.1
Apakah itu baik-baik saja? Atau aku melakukan sesuatu yang salah.
Juga apakah akan menimbulkan masalah jika saya menghapus cmdtest dan semua dependensinya?
@Nazarah - Itu benar, 1.5.1 adalah versi stabil terbaru. Jika Anda ingin mendapatkan 1.6.0, Anda perlu menambahkan repo RC sebagai gantinya (ganti "stable" dengan "rc" di /etc/apt/sources.list.d/yarn.list
)
@Daniel15
menghapus cmdtest dan ketergantungan dan menginstal yarn.txt
File teks pertama menunjukkan hasil perintah dari mencopot cmdtest dan semua dependensinya hingga menggunakan perintah yang Anda sarankan untuk menginstal benang
file ini ditampilkan ketika saya mencoba menjalankan benang dari rumah
Saya mengedit komentar saya karena saya menyadari bahwa 1.5.1 adalah versi terbaru dari Yarn :)
Terima kasih atas tanggapan Anda. :D
@OmerHerera
Periksa juga apakah Anda menjalankan perintah yarn di folder tempat package.jsonis Anda berada
Apakah maksud Anda package.json untuk mastarm?
@becdetat Saya telah menginstal Ubuntu 17.04 tetapi ketika saya mengetik yarn --version
setelah menginstal benang seperti yang direkomendasikan, saya mendapatkan ini sebagai pesan
« yarn » is not installed yet.You can install by typing :
sudo apt install cmdtest
. Kemudian saya menjalankan sudo apt install cmdtest
tetapi gagal.
@florianeBhz Anda harus menambahkan repo Benang terlebih dahulu:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Maka Anda dapat sudo apt-get update && sudo apt-get install yarn
Detail lebih lanjut di situs Benang: https://yarnpkg.com/en/docs/install#debian -stable
Untuk paket Debian Anda, pertimbangkan konflik dengan cmdtest
di debian/control
; tambahkan pengalihan jika cmdtest
yang dapat dieksekusi sudah ada; gunakan pola update-alternatives
yang dijelaskan di sini: https://wiki.debian.org/DebianAlternatives
; gunakan pola pembaruan-alternatif yang dijelaskan di sini: wiki.debian.org/DebianAlternatives
Alternatifnya adalah ketika Anda memiliki beberapa aplikasi berbeda yang melakukan hal yang sama. Ini bukan untuk menangani konflik penamaan.
Karena itu, menambahkan konflik dengan cmdtest tampaknya masuk akal. Kita bisa melakukannya!
Sebagai komentar tambahan: Pengembang Ubuntu tampaknya mempertimbangkan bahwa ketika pengguna mengetik apt-get install foo
, jika foo
tidak ada tetapi ada perintah dengan nama yang disediakan oleh paket bar
, maka sebaiknya Anda menginstal paket bar
secara diam-diam.
$ sudo apt-get install yarn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'cmdtest' instead of 'yarn'
[...]
$ dpkg -S bin/yarn
cmdtest: /usr/bin/yarn
Saya pribadi berpikir itu salah satu kasus ketika orang berpikir menerapkan perilaku yang kurang ketat akan membuat hidup orang lebih mudah tetapi sebenarnya hanya memperumit masalah karena memperkenalkan keacakan (misalnya masalah ini).
Cukup gunakan nvm untuk menggunakan npm untuk menginstal benang ...
sudo apt remove cmdtest
sudo apt remove yarn
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
nvm install node -lts
npm install -g yarn
yarn --version
1.12.3
Sama-sama
@shawnolson-fp - orang tidak boleh mempercayai skrip acak untuk menginstal NVM. Apakah tidak ada metode resmi yang dapat Anda kutip alih-alih menyebarkan pola instalasi yang tidak aman? Terima kasih!
https://github.com/creationix/nvm adalah proyek resmi di Github. Secara harfiah siapa yang menciptakannya. Saya tidak tahu cara yang lebih aman untuk melakukannya. Alternatifnya adalah menggunakan PPA yang akan menunjuk ke nodesource.com ... hanya dua cara yang saya tahu.
@shawnolson-fp - itu tidak akan menyelesaikan masalah yang tercantum dalam ini
isu. Masalahnya adalah aplikasi lain yang menyediakan perintah "benang"
dipasang. Satu-satunya cara yang tepat untuk memperbaikinya adalah dengan mencopot pemasangan
aplikasi lain atau menghapusnya dari $PATH Anda. Anda dapat mengubah urutan
$PATH Anda sebagai gantinya, tetapi memiliki dua aplikasi yang menyediakan perintah yang sama dapat
menjadi cukup membingungkan anyways.
Dikirim dari ponsel saya.
Pada Selasa, 13 November 2018, 13:24 Benjamin Bach < [email protected] menulis:
@shawnolson-fp https://github.com/shawnolson-fp - orang tidak boleh
mempercayai skrip acak untuk menginstal NVM. Bukankah ada metode resmi yang
Anda dapat mengutip alih-alih menyebarkan pola instalasi yang tidak aman? Terima kasih!—
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/yarnpkg/yarn/issues/2821#issuecomment-438442528 , atau bisukan
benang
https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p
.
@shawnolson-fp - itu tidak akan menyelesaikan masalah yang tercantum dalam masalah ini. Masalahnya adalah aplikasi lain yang menyediakan perintah "benang" diinstal. Satu-satunya cara yang tepat untuk memperbaikinya adalah dengan mencopot pemasangan aplikasi lain atau menghapusnya dari $PATH Anda. Anda dapat mengubah urutan $PATH Anda sebagai gantinya, tetapi memiliki dua aplikasi yang memberikan perintah yang sama bisa sangat membingungkan. Dikirim dari ponsel saya.
…
Pada Selasa, 13 November 2018, 13:24 Benjamin Bach @ . * menulis: @shawnolson-fp https://github.com/shawnolson-fp - orang tidak boleh mempercayai skrip acak untuk menginstal NVM. Apakah tidak ada metode resmi yang dapat Anda kutip alih-alih menyebarkan pola instalasi yang tidak aman? Terima kasih! — Anda menerima ini karena Anda disebutkan. Balas email ini secara langsung, lihat di GitHub < #2821 (komentar) >, atau nonaktifkan utasnya https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p .
Saya mengerti masalahnya tetapi seperti yang Anda katakan, cara mengatasinya terlalu merepotkan bagi kebanyakan orang yang hanya ingin benang berfungsi. Mengapa Debian memutuskan untuk memilih cmdtest daripada benang adalah masalahnya. Saya hanya memberikan cara alternatif untuk menginstal benang dan npm di $PATH yang sama dengan nvm - Paket yang cukup apik jika Anda bertanya kepada saya ...
Dan sampai masalah teratasi, sangat sedikit orang yang ingin dipusingkan dengan variabel lingkungan untuk menyelesaikan sesuatu yang tampaknya sangat sederhana.
@shawnolson-fp haha, ya saya perhatikan bahwa curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
sebenarnya adalah instruksi instalasi resmi dan menghapus komentar saya. Tapi saya kaget. TERKEJUT!
Juga, _Hanya gunakan nvm untuk menggunakan npm untuk memasang benang ......_ dunia kejam yang kejam. Saya harap semua orang akan berpikir dua kali sebelum melakukan ini untuk mendapatkan left-pad
atau apa pun.
Omong-omong. sebagian besar masalah Debian diselesaikan dengan memutar ini. Kecuali memiliki paket resmi tampaknya masih sedikit di luar jangkauan.
Saya pasti tidak akan mengikuti pola Anda, itu terlalu rumit.
Mengapa Debian memutuskan untuk memilih cmdtest daripada benang adalah masalahnya.
Arahkan jari kembali ke yarn
. Mereka diperingatkan bahwa nama paket ini diambil sebelum peluncuran publik mereka dan telah mendapat masukan dari orang-orang pengemasan Debian yang mencoba memecahkan masalah ini. Ada upaya saat ini untuk membuat paket yang sedang berlangsung sehingga rilis resmi dapat berada di Debian dan dist downstream seperti Ubuntu.
@Daniel15 melihat masalah ini, tampaknya cukup aman untuk menutup+membekukan dengan catatan terakhir tentang membaca dokumentasi? Tampaknya membiarkannya terbuka menghasilkan solusi yang tidak diinginkan?
Referensi untuk pekerjaan Debian yang sedang berlangsung:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843021
https://salsa.debian.org/js-team/node-yarnpkg
@benjaoming lol - itu adalah sesuatu yang saya tidak tahu, sungguh kacau!
Saya merasakan kedua belah pihak, karena IMO Debian dan Yarn sama-sama yang terbaik, jadi saya sobek
Anda akan berpikir mungkin prompt sederhana saat menginstal: which yarn would you like to install @facebook/yarn or cmdtest/yarn?
Pada titik ini, kebanyakan orang mungkin hanya akan mengatakan $# dan menggunakan npm. 😩.
@facebook/yarn
Tidak terkait dengan masalah yang dihadapi, tetapi Benang adalah proyek komunitas, bukan proyek Facebook - itu akan menjadi @yarnpkg/yarn
@arcanis lol itu hanya contoh ... jadi literal di sini, ha!
melihat masalah ini, tampaknya cukup aman untuk menutup+membekukan dengan catatan terakhir tentang membaca dokumentasi?
Ide bagus. Saya akan mengunci ini karena banyak diskusi yang tidak terkait (tetapi berharga!) terjadi di sini. Jangan ragu untuk membuat masalah terpisah jika masih ada yang perlu didiskusikan. Sementara itu, silahkan uninstall cmdtest
jika Anda ingin menggunakan Yarn. Paket Yarn Debian "berkonflik" dengan cmdtest, jadi itu akan memperingatkan Anda tentang hal itu.
Komentar yang paling membantu
Anda salah
yarn
Benang yang Anda jalankan berasal dari paketcmdtest
: http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. html. Menghapus instalasicmdtest
akan memperbaiki ini. Setelah Anda mencopot pemasangannya, ikuti petunjuk di https://yarnpkg.com/en/docs/install#linux -tab untuk menambahkan repo Benang: