lệnh bower không tìm thấy cửa sổ


107

Tôi đang gặp sự cố lớn khi cố gắng sử dụng bower (để cài đặt nền tảng 5) hoặc tải bất kỳ thứ gì liên quan đến bower liên quan đến công việc trên dòng lệnh.

Tôi đã cài đặt

  • ruby 1.9.3
  • git (với tùy chọn chạy từ dấu nhắc lệnh)
  • Nodejs

Tôi đã chạy thành công

npm install -g bower grunt-cli
gem install foundation

và chúng đã chạy tốt. Tôi đã xem trong npm/node_modulesthư mục và tôi có thể thấy bowerthư mục trong đó.

Mỗi khi tôi nhập bowervào cmd, ruby cmdhoặc git bashtôi nhận được

lệnh không được công nhận

Tôi đã đặt đường dẫn git trong các biến môi trường.

Điều khó chịu là hướng dẫn trên trang bower. Nó nói:

npm install -g bower
bower install

Điều này không hoạt động!



Gần đây tôi đã viết một bài đăng trên blog về cách bắt đầu với Bower. Nó siêu cơ bản và có một kho github nơi bạn có thể kiểm tra mã. Có thể nó sẽ giúp bạn: thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX

2
Tôi cũng bị mắc kẹt về điều này trong một thời gian. Mọi thứ đã được thiết lập, khởi động lại và thậm chí cả grunt hoạt động trong khi bower không có trên máy Windows 8.1 mới của tôi. Cho đến khi tôi truy cập vào thư mục npm_modules toàn cầu và chạy bower từ đó, nó mới trở nên 'không hoạt động'. Bower sau đó đã hoạt động từ thư mục dự án của tôi. Tôi đã khởi động lại và sự cố vẫn được giải quyết ... Câu trả lời kỳ lạ, tôi biết, nhưng đây chỉ là cách nó xảy ra với tôi.
user1889992

Câu trả lời:


247

Tôi cũng gặp phải vấn đề này npm install -g bower. Tôi đã giải quyết vấn đề bằng cách thêm thư mục nhị phân của npm vào đường dẫn của mình.

Dưới đây là một số gợi ý hữu ích để làm điều đó:

  1. Tìm vị trí của mã nhị phân toàn cầu NPM của bạn: npm config get prefix. Đường dẫn này có thể trông giống như C:\Users\username\AppData\Roaming\npm(hoặc C:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\toolsnếu bạn sử dụng Chocolatey ).
  2. Thêm đường dẫn từ bước 1 vào Đường dẫn của bạn.

    • Mở Bảng điều khiển Windows, tìm kiếm environment , sau đó nhấp vào edit environment variables for your accounthoặc Chỉnh sửa các biến môi trường hệ thống`.

    • Tìm biến có tên Path hoặc PATHhoặc tạo một biến nếu nó không tồn tại.

    • Dán đường dẫn từ bước 1 vào đây ( ;được phân tách).

    • Bạn có thể cần khởi động lại cửa sổ nhắc lệnh của mình.

  3. Bây giờ bạn có thể nhập bowerlệnh.


1
Đối với người dùng sô cô la: C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan

Hoạt động cho npm 1.3.2bower 1.7.9.
Animesh Pandey

Trong trường hợp của tôi, 'C: \ Users \ username \ AppData \ Roaming \ npm' đã được đặt trong môi trường vairables, tuy nhiên khi chạy tiền tố 'npm config get prefix' tiết lộ rằng đường dẫn có .ssh trong đó (C: \ Users \ username \ .ssh \ AppData \ Roaming \ npm) do đó ghi đè lên biến này trong biến môi trường đã khắc phục sự cố.
Monis Iqbal

for / f% a ('npm config get prefix') do setx path% a
Alex

Chỉ để thông báo cho những người khác, điều này phù hợp với tôi cho cùng một vấn đề mà tôi gặp phải trên Jenkins trên Windows, trái ngược với nhiều câu trả lời chỉ ra các chẩn đoán liên quan đến Jenkins.
Monis Iqbal

19

trong trường hợp điều này có ích.

Tôi là npm / bower nooB - nhưng điều đã xảy ra trong trường hợp của tôi là tôi đang sử dụng hướng dẫn Angular JS, có vẻ như đã thiết lập bower để sử dụng qua npm , chứ KHÔNG phải qua dòng lệnh trực tiếp.

Lưu ý: trong trường hợp của tôi, tôi nghĩ rằng cài đặt bower của tôi đã bị rối. Tôi đã chạy điều này để sửa lỗi cài đặt bower của mình:

npm install -gf bower

Sau đó, tôi chỉnh sửa tệp bower.json của mình để thêm vào thư viện mới mà tôi muốn sử dụng (trong trường hợp của tôi là angle-sanitize)

Tôi CD đến vị trí của dự án của tôi

cd myProjectPath

Sau đó, để chạy bower, tôi thực sự đã sử dụng npm install:

npm install

Điều này dường như chạy bower như một gói nút, lần lượt quét bower.json và cài đặt bất kỳ gói bower nào bị thiếu.

Để chạy bower dưới dạng gói npm, hãy thêm vào npmtrước lệnh bower:

npm bower -v

hi vọng điêu nay co ich,

Sean


1
Làm thế nào để một người "sử dụng nó qua npm"?
steampowered

xin chào hấp dẫn - thành thật mà nói đã lâu rồi kể từ khi tôi viết bài này. Tôi nghĩ rằng tôi có nghĩa là con đường 'bình thường' để chạy Chòi là từ dòng lệnh: Chòi chơi nhưng trong văn bản trên, chúng tôi đã sử dụng: NPM cài đặt
Sean

11

Nếu các giải pháp trên không hoạt động. Tôi nghĩ bạn nên chỉ định đường dẫn tuyệt đối để sử dụng bower trong dấu nhắc lệnh. Trong thư mục ứng dụng của tôi, tôi chỉ cần gọi

C:\Users\yourusername\AppData\Roaming\npm\bower.cmd install

Đây là nội dung trong bower.cmd của tôi. Có vẻ như cửa sổ của tôi không thể nhận ra biến ~ dp0,

node  "C:\Users\yourusername\AppData\Roaming\npm\node_modules\bower\bin\bower" %*

yea để làm việc như một Chòi chơi cho cài đặt tuyệt vời, nhưng tôi cần nó để làm việc như Chòi chơi cho cài đặt :(
Dragutescu Alexandru

Nhận được tin nhắn không có quà tặng
bower.json

2

Điều này chắc chắn sẽ xảy ra nếu biến Windows PATH của bạn gần với độ dài ký hiệu 1024. Vì vậy, các liên kết mới như "C: \ Users \ username \ AppData \ Roaming \ npm" sẽ không phù hợp với điều đó.

Kiểm tra PATH của bạn, xóa những thứ thừa và cố gắng cài đặt lại node.js và bower, v.v. Ngoài ra, có một cách để tăng giới hạn độ dài 1024


1

Như những người khác đã đề cập phải thêm bower vào các biến môi trường, nhưng cách dễ nhất để xác định vị trí chỉ cần nhập vị trí npm của bạn trước, sau đó sử dụng Browse File và xác định vị trí bower trên hệ thống của bạn (bạn cũng có thể tìm kiếm nó trong thanh tìm kiếm), bởi vì vị trí có thể khác nhau đối với những người dùng khác nhau.

mẫu cuối cùng của tôi


1

1. Nhập cmd trong windows:

for /f %a ('npm config get prefix') do setx path %a

2. Tải lại cmd


0

Cùng một vấn đề. Tôi đã giải quyết nó bằng cách sử dụng một phiên bản khác của bower. Nó hoạt động khi tôi cố gắng sử dụng phiên bản 1.2.6

$ npm install -g bower@1.2.6


0

Tôi gặp sự cố này sau khi cài đặt Chocolatey 0.9.8.28. Tôi đã thử hầu hết các giải pháp được liệt kê ở đây, nhưng tôi không thể nhận ra 'bower -v' trong dòng lệnh Powershell. Điều này có vẻ hơi lạ vì Cài đặt Chocolatey là 'tất cả về' Powershell. Cuối cùng, tôi đã có thể thành công bằng cách đặt đường dẫn để Powershell có thể tìm thấy cài đặt biến PATH được cập nhật, nhưng tôi cần trợ giúp để hiểu lý do và cách thực hiện, tôi sẽ cung cấp thông tin dưới đây:

Sau khi thất bại với Powershell ban đầu, tôi đã có thể truy cập Dòng lệnh DOS tiêu chuẩn (không phải bằng cách sử dụng cmd / c trong powershell) và thực hiện thành công tất cả các biến thể của thiết lập đường dẫn được thảo luận ở trên và thành công khi thấy bower và các lệnh bower được công nhận bằng dòng lệnh DOS. Và cửa sổ cmd đã hiển thị đường dẫn cập nhật đầy đủ (C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools) - lưu ý rằng số phiên bản có thể thay đổi so với danh sách của KimchiMan đáng kính.

PATH này vẫn tồn tại thông qua việc đóng và mở các cửa sổ dòng lệnh DOS mới, nhưng nó không được nhận dạng (bao giờ) trong bất kỳ cửa sổ Powershell nào.

Sau đó, tôi phát hiện ra thảo luận liên quan sau: Đặt Cài đặt Đường dẫn Powershell.

Điều này chỉ ra rằng Powershell nhận ra phiên bản cài đặt đường dẫn HKLM khi khởi động. VÀ có thể đặt Path EITHER TRONG phiên (không liên tục) hoặc trong Registry (liên tục). Sau đây là trực tiếp từ cuộc thảo luận đó.

Các lệnh này có thể tạm thời đặt PATH cho một SESSION của vỏ máy:

$env:Path = 'New path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')

Các lệnh này có thể đặt PATH vĩnh viễn cho tất cả các Phiên Powershell mới:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')

Nhưng tôi đã nhầm lẫn với việc thiết lập cài đặt đăng ký theo chương trình trước đây và tôi không tin rằng một hoặc hai dòng của tập lệnh PS có thể hoàn thành nhiệm vụ. Vì vậy, tôi thậm chí đã không thử tùy chọn này.

Thay vào đó, tôi đi đến Bảng điều khiển / Bảng điều khiển hệ thống và thay đổi đường dẫn thông qua hộp thoại Biến môi trường. Tôi nhận thấy rằng tất cả nỗ lực tôi đã thực hiện để thay đổi đường dẫn với đặt PATH trong dòng lệnh DOS đã hoạt động trong phiên cửa sổ, nhưng mục nhập đường dẫn mới đã không được duy trì đối với Biến môi trường / Sổ đăng ký mặc dù phiên Dos đang chạy như người quản lý.

Sau khi tôi thực hiện thay đổi này thông qua Bảng điều khiển, đường dẫn cập nhật cho bower trong thư mục công cụ của Chococlatey (và có lẽ là tất cả các cài đặt công cụ tiếp theo) đã được thiết lập vĩnh viễn và bower có sẵn trong cả dòng lệnh DOS và dòng lệnh Powershell.

hi vọng điêu nay co ich...


0

Đã gỡ cài đặt 64bit và Cài đặt phiên bản 32 bit của nodejs cùng với git- 32bit đã hoạt động!


0

Có cùng một vấn đề. Tôi vừa chạy "npm install -g bower", sau đó truy cập vào thư mục nơi nó được tải xuống, trong trường hợp của tôi là "C: \ Users \ user \ AppData \ Roaming \ npm \ node_modules \ bower"

Từ thư mục tôi đã chạy bower và mọi thứ hoạt động tốt, ngay cả từ thư mục khác

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.