Bower cài đặt không làm gì, thậm chí không ném lỗi


15

Tôi đang dùng Ubuntu 14.04. Tôi đã làm sudo apt-get install npm. Sau đó, tôi đã làm npm install -g bower, đó là thành công.

Với which npm, tôi nhận được /usr/bin/npm/.
Với which bower, tôi nhận được /usr/local/bin/bower.

Tôi đã nhân bản một kho lưu trữ github có một bower.json. Tôi cố gắng làm bower installtrong thư mục gốc nhưng không có gì xảy ra. Như trong, nó không lặp lại bất cứ điều gì, không cài đặt bất cứ điều gì. Nó chỉ đơn giản là ... không có gì. Tôi đã cố gắng bower --helpvà không có gì đi lên.

Tôi đã thử sudo apt-get updatevà nó npmđược cập nhật. Nodejstồn tại quá Bất cứ khi nào tôi làm bất cứ điều gì với npm, nó chỉ đơn giản là không làm gì cả.

EDIT: khi tôi làm npm --global ls, Bower được liệt kê trong các thư mục

Điều gì có thể là vấn đề ở đây và làm thế nào tôi có thể khắc phục nó?


Nội dung của bower.jsontập tin là gì? Bạn có thể cung cấp các liên kết đến kho lưu trữ?
Lucio

Câu trả lời:


14

Tôi đã từng gặp vấn đề tương tự. Nó dường như được gây ra bởi một gói nút không chính xác.

Loại bỏ gói nút và cài đặt gói kế thừa thay vào đó làm việc cho tôi:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy

cái này hiệu quả Tôi xây dựng nodejs từ nguồn để làm cho nó làm việc
corvid

18

Công việc này đối với tôi:

bower install --force

nơi --forceđể cài đặt mạnh mẽ


1
Chà, nó đã lừa tôi nhưng tôi tự hỏi tại sao tôi phải ép nó. Cảm ơn bạn.
Luis Milanese

Bạn đã cứu mạng tôi ...
Jean-Luc Barat

4

Bạn đã kiểm tra which npmwhich bower, nhưng bạn đã không kiểm tra which node. Trên Ubuntu, nodegói không liên quan đến NodeJS. Gói NodeJS được cài đặt dưới dạng nodejs, nó sẽ phá vỡ mọi tập lệnh phụ thuộc vào node. Điều này tương tự với một câu hỏi khác, nơi cài đặt toàn cầu của jshint không hoạt động .

Giả sử bạn đã nodejscài đặt, bạn có thể tạo một liên kết tượng trưng để nodechỉ vào nodejs:

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

Nếu điều đó không hiệu quả hoặc nếu bạn không muốn sử dụng phiên bản NodeJS trong kho chính thức, bạn có thể cài đặt Node từ PPA (sẽ cung cấp cho bạn cả hai nodenodejslệnh) hoặc sử dụng NVM (là sở thích cá nhân của tôi, như nó tránh được sự cần thiết sudokhi cài đặt các mô-đun npm).


Chà, ngoài việc tạo một symlink, tôi cũng phải loại bỏ gói nút. Như đã đề cập trong câu trả lời khác rằng gói nút được ngụy trang thành gói nodejs thực tế. Vì vậy, mặc dù sau khi tạo một symlink cho nodejs, nodelệnh thực sự đề cập đến một số chương trình Node Radio Radio Amster, và không phải là các nútj thực tế mà chúng ta mong muốn.
Lokesh Rajwani

3

Trên Ubuntu 14.04, tôi đã giải quyết nó bằng:

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

0

Đối với bất cứ ai ngoài đó đang gặp vấn đề này nhưng tất cả các bản sửa lỗi khác đều không hoạt động. Tôi thấy rằng tôi đã gõ sai lệnh, tôi nghĩ rằng nó cần một nútjs trước lệnh như:

nodejs bower install

Nhưng Bower chỉ thực hiện trực tiếp từ thiết bị đầu cuối

bower install

Ngốc tôi biết!


0

Ubuntu 16.04 trở lên

Trong Ubuntu 16.04 trở lên, trình quản lý gói Bower có thể được cài đặt nhanh chóng và dễ dàng từ ứng dụng Phần mềm Ubuntu. Mở Phần mềm Ubuntu, tìm kiếm "bower" và nhấp vào nút Cài đặt để cài đặt. Trong tất cả các phiên bản Ubuntu được hỗ trợ hiện tại, hãy mở terminal và gõ:

sudo snap install bower --classic  

nhập mô tả hình ảnh ở đây

Gói snap Bower sẽ được cập nhật tự động khi có bản cập nhật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.