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?


2
Apa output dari npm install? Apakah itu gagal? Apakah itu memasang bower ke beberapa lokasi bukan pada Anda PATH?
Jches


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.


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

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.


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


3

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

npx bower install


1
Ini harus menjadi jawaban yang diterima. Anda seharusnya tidak menginstal modul global dengan npm.
chovy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.