perintah bower tidak ditemukan

158

Saya mencoba menginstal twitter bower di Mac saya, dan saya menggunakannya

npm install bower -g

Kemudian saya mencoba bower --help, dan hasilnya adalah bower command not found. Mengapa demikian?

Amo Wu
sumber
2
Apa output dari npm install? Apakah itu gagal? Apakah itu memasang bower ke beberapa lokasi bukan pada Anda PATH?
Jches
kemungkinan duplikat "perintah tidak ditemukan" setelah instalasi
Sindre Sorhus

Jawaban:

365

Sama seperti dalam pertanyaan ini ( npm global path prefix ) yang Anda butuhkan adalah mengatur yang benar npm prefix.

UNIX:

$ npm config set prefix /usr/local
$ npm install -g bower

$ which bower
>> /usr/local/bin/bower

Windows dan NVM:

$ npm config set prefix /c/Users/xxxxxxx/AppData/Roaming/nvm/v8.9.2
$ npm install -g bower

Maka bowerharus terletak tepat di $PATH.

Petr Joachim
sumber
1
Saya ingin menambahkan bahwa ini bukan jawaban yang paling benar jika Anda bekerja dengan banyak proyek. Bower harus dipasang node_modulessecara lokal dari package.jsondan tidak secara global, karena proyek yang berbeda dapat menggunakan versi yang berbeda (itulah intinya npm). Masalah sebenarnya adalah bahwa sistem tidak dapat menemukan bower lokal dapat dieksekusi.
Bruno Finger
@BrunoFinger: Saat memasang bower ke lingkup global, jawaban itu tidak menyelesaikan masalah. Namun menggunakan paket simpul lokal mungkin cara yang lebih baik untuk berurusan dengan alat khusus proyek.
Petr Joachim
Saya pikir jika awalan npm diatur ke / usr / local, install npm -g akan gagal tanpa sudo.
imafish
Kami tidak merekomendasikan menggunakan Bower untuk proyek baru. Harap pertimbangkan Benang dan Paket Web atau Paket.
Daniel
60

Saya hampir yakin Anda tidak menginstalnya dengan benar. Karena Anda mencoba menginstalnya secara global, Anda harus menjalankannya dengan sudo:

sudo npm install -g bower
Erick Ruiz de Chavez
sumber
3
Begitulah bower harus diinstal, jika tidak maka hanya akan diinstal pada folder tempat Anda menjalankan perintah. -g berarti global dan juga menciptakan tautan yang diperlukan untuk modul yang dapat dieksekusi sebagai perintah sistem, bower, grunt-cli, bahkan npm adalah contoh yang jelas untuk hal ini.
Erick Ruiz de Chavez
Jangan instal dengan sudo! Cukup gunakan brew doctor dan lakukan perbaikan yang disarankan brew doctor dan kemudian Anda tidak perlu menggunakan sudo!
djangofan
4

Ini ternyata BUKAN menjadi masalah bower, meskipun itu muncul untuk saya dengan bower.

Tampaknya menjadi simpul-masalah yang mana. Jika suatu file ada di path, tetapi memiliki set bit setuid / setgid, yang tidak akan menemukannya.

Berikut adalah file dengan bit set: (unix 'yang' akan menemukannya tanpa masalah).

ls -al / usr / local / bin -rwxrwsr-- 110 root nmt 5535636 17 Jul 2012 git

Berikut adalah simpul-upaya yang:

> which.sync('git')
Error: not found: git

Saya mengubah izin (chomd 755 git). Sekarang simpul-yang dapat menemukannya.

> which.sync('git')
'/usr/local/bin/git'

Semoga ini membantu.

pengguna3112929
sumber
3

Saya menggunakan manajer versi simpul. Saya mendapatkan pesan kesalahan ini karena saya telah beralih ke versi node yang berbeda. Ketika saya beralih kembali ke versi node tempat saya menginstal bower, kesalahan ini hilang. Dalam kasus saya, perintahnya adalahnvm use stable

lebah
sumber
3

Atau, Anda dapat menggunakan npxyang datang bersama dengan npm> 5.6.

npx bower install

Kuldeep Saxena
sumber
1
Ini harus menjadi jawaban yang diterima. Anda seharusnya tidak menginstal modul global dengan npm.
chovy