menginstal bower tidak melakukan apa-apa, bahkan tidak ada kesalahan

15

Saya di Ubuntu 14.04. Saya lakukan sudo apt-get install npm. Kemudian saya lakukan npm install -g bower, yang berhasil.

Dengan which npm, saya mengerti /usr/bin/npm/.
Dengan which bower, saya mengerti /usr/local/bin/bower.

Saya mengkloning repositori github yang punya bower.json. Saya coba lakukan bower installdi root tetapi tidak ada yang terjadi. Seperti dalam, itu tidak menggemakan apa pun, tidak menginstal apa pun. Itu hanya ... tidak ada. Saya mencoba bower --helpdan tidak ada yang muncul.

Saya mencoba sudo apt-get updatedan dikatakan npmsudah terbaru. Nodejsada juga. Setiap kali saya melakukan sesuatu dengan npm, ia tidak melakukan apa-apa.

EDIT: ketika saya melakukannya npm --global ls, bower terdaftar di direktori

Apa yang bisa menjadi masalah di sini dan bagaimana cara memperbaikinya?

jelas
sumber
Apa isi bower.jsonfile tersebut? Bisakah Anda memberikan tautan ke repositori?
Lucio

Jawaban:

14

Saya memiliki masalah yang sama. Tampaknya disebabkan oleh paket node yang salah.

Menghapus paket node dan menginstal paket legacy malah bekerja untuk saya:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy
Sivaraj D
sumber
ini berhasil. Saya membangun nodejs dari sumber untuk membuatnya bekerja
hidup
18

Ini bekerja untuk saya:

bower install --force

di mana --forceuntuk menginstal dengan paksa

anggur
sumber
1
Yah, itu berhasil bagi saya, tetapi saya bertanya-tanya mengapa saya harus memaksanya. Terima kasih.
Luis Milanese
Anda menyelamatkan hidup saya ...
Jean-Luc Barat
4

Anda memeriksa which npmdan which bower, tetapi Anda tidak memeriksa which node. Di Ubuntu, nodepaket itu tidak terkait dengan NodeJS. Paket NodeJS diinstal sebagai nodejs, yang akan memecah skrip yang bergantung pada node. Ini mirip dengan pertanyaan lain di mana pemasangan global jshint tidak berfungsi .

Dengan asumsi Anda telah nodejsmenginstal, Anda dapat membuat symlink sehingga nodemenunjuk pada nodejs:

sudo ln -s /usr/bin/nodejs /usr/bin/node

Jika itu tidak berhasil, atau jika Anda lebih suka untuk tidak menggunakan versi NodeJS di repositori resmi, Anda dapat menginstal Node dari PPA (yang akan memberi Anda berdua nodedan nodejsperintah) atau menggunakan NVM (yang merupakan preferensi pribadi saya, seperti itu menghindari kebutuhan sudoketika menginstal modul npm).

Michael Martin-Smucker
sumber
Nah, selain membuat symlink, saya juga harus menghapus paket node. Seperti disebutkan dalam jawaban lain bahwa paket simpul menyamar menjadi paket simpuljs yang sebenarnya. Jadi meskipun setelah membuat symlink untuk nodejs, nodeperintah sebenarnya merujuk ke beberapa program Amatir Radio Node, dan bukan nodejs sebenarnya yang kita inginkan.
Lokesh Rajwani
3

Di Ubuntu 14.04, saya menyelesaikannya dengan:

sudo apt-get remove npm
sudo apt-get remove node
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
Kenneth Jiang
sumber
0

Bagi siapa pun di luar sana yang mengalami masalah ini, tetapi semua perbaikan lainnya tidak berhasil. Saya menemukan bahwa saya mengetik perintah yang salah, saya pikir itu perlu nodejs sebelum perintah seperti:

nodejs bower install

Tetapi bower hanya dieksekusi langsung dari terminal

bower install

Bodoh saya tahu!

Matthew Dolman
sumber
0

Ubuntu 16.04 dan yang lebih baru

Di Ubuntu 16.04 dan yang lebih baru, manajer paket Bower dapat dengan cepat dan mudah diinstal dari aplikasi Perangkat Lunak Ubuntu. Buka Perangkat Lunak Ubuntu, cari "bower" dan klik tombol Install untuk menginstalnya. Di semua versi Ubuntu yang didukung saat ini, buka terminal dan ketik:

sudo snap install bower --classic  

masukkan deskripsi gambar di sini

Paket snap bower akan diperbarui secara otomatis ketika pembaruan tersedia.

karel
sumber