Yarn: KESALAHAN: Tidak ada skenario; harus memiliki setidaknya satu.

Dibuat pada 2 Mar 2017  ·  35Komentar  ·  Sumber: yarnpkg/yarn

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

Komentar yang paling membantu

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

Semua 35 komentar

@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

menginstal benang segar.txt

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat