Dengan pujian untuk semua jawaban yang dengan benar menyarankan untuk menghapus yarn
paket Ubuntu dan menginstal Benang melalui NPM, berikut ini adalah jawaban terperinci dengan penjelasan (dan, ingatlah, pendapat):
Alasan dari No such file or directory
kesalahan yarn install
ini adalah bahwa Anda tidak menggunakan Benang "benar": perangkat lunak yang Anda peroleh ketika yarn
menggunakan sumber perangkat lunak Ubuntu adalah alat pengujian skenario "benang" dari suite pengujian kotak hitam cmdtest . Ini mungkin bukan yang Anda maksudkan karena Benang juga merupakan alat siklus pengembangan populer untuk aplikasi Javascript (mirip dengan Make, Maven dan teman-teman).
Alat Javascript Yarn tidak tersedia dari sumber perangkat lunak Ubuntu tetapi dapat diinstal oleh NPM (yang merupakan alat siklus hidup pengembangan lain yang bertujuan untuk diganti oleh Benang - jadi itu aneh ...).
Untuk membuat Benang tersedia di Ubuntu, mulailah dengan menghapus cmdtest
dan alat-alatnya:
$ sudo apt purge cmdtest
Kemudian pastikan NPM diinstal:
$ sudo apt install npm
Kemudian gunakan NPM untuk menginstal Benang:
$ npm install -g yarn
Catatan: menggunakan npm install -g
akan menginstal paket Javascript untuk akun pengguna Anda saat ini, yang seharusnya baik untuk sebagian besar tujuan. Jika Anda ingin menginstal Benang untuk semua pengguna, Anda dapat menggunakan sudo
untuk perintah NPM, tetapi itu tidak dianjurkan: Paket-paket NPM jarang diaudit untuk keamanan dalam konteks sistem operasi multi-pengguna dan menginstal beberapa paket bahkan mungkin pecah ketika menginstal mereka sebagai "root". NPM digunakan untuk memperingatkan agar tidak menjalankannya dengan sudo
dan alasan utama tidak melakukannya hari ini adalah karena itu mengganggu orang-orang yang menggunakan lingkungan "seperti root" kotak pasir (seperti Docker) untuk membangun dan menggunakan aplikasi Javascript untuk server pengguna tunggal.
yarn install --verbose
dan tambahkan informasi yang diperluas. Anda yakin menjalankan benang di folder kanan (yang berisi package.json)?