คำสั่ง bower ไม่พบ windows


107

ฉันมีปัญหาใหญ่ในการพยายามใช้ bower (เพื่อติดตั้งรากฐาน 5) หรือรับอะไรก็ตามที่เกี่ยวข้องกับการทำงานในบรรทัดคำสั่ง

ฉันได้ติดตั้ง

  • ทับทิม 1.9.3
  • git (พร้อมรันจากตัวเลือกพรอมต์คำสั่ง)
  • โหนด

ฉันวิ่งสำเร็จแล้ว

npm install -g bower grunt-cli
gem install foundation

และสิ่งเหล่านี้ทำงานได้ดี ฉันได้ดูในnpm/node_modulesไดเร็กทอรีและเห็นbowerโฟลเดอร์ในนั้น

ทุกครั้งที่ผมพิมพ์bowerอย่างใดอย่างหนึ่งลงไปcmd, ruby cmdหรือgit bashที่ฉันได้รับ

ไม่รู้จักคำสั่ง

ฉันได้กำหนดเส้นทาง git ในตัวแปรสภาพแวดล้อม

สิ่งที่น่ารำคาญคือคำแนะนำในเว็บไซต์ bower มันระบุ:

npm install -g bower
bower install

มันไม่ได้ผล!



ฉันเพิ่งเขียนบล็อกโพสต์เกี่ยวกับวิธีเริ่มต้นกับ Bower มันเป็นพื้นฐานสุด ๆ และมี repo github ที่คุณสามารถชำระเงินรหัสได้ บางทีมันอาจจะช่วยคุณได้: thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX

2
ฉันก็ติดอยู่ในขณะนี้เช่นกัน ทุกอย่างถูกตั้งค่ารีบูตและแม้แต่ฮึดฮัดก็ทำงานได้ในขณะที่ bower จะไม่อยู่ในเครื่อง Windows 8.1 เครื่องใหม่ของฉัน จนกระทั่งฉันเข้าไปในโฟลเดอร์ npm_modules ส่วนกลางและวิ่งหนีจากที่นั่นจนกลายเป็น 'unstuck' จากนั้น Bower ก็ทำงานจากโฟลเดอร์โครงการของฉัน ฉันรีบูตและปัญหายังคงได้รับการแก้ไข ... คำตอบแปลกฉันรู้ แต่นี่เป็นเพียงสิ่งที่เกิดขึ้นสำหรับฉัน
user1889992

คำตอบ:


247

ฉันเจอปัญหานี้หลังจากนั้นnpm install -g bowerด้วย ฉันแก้ไขปัญหาโดยการเพิ่มโฟลเดอร์ไบนารีของ npm ในเส้นทางของฉัน

คำแนะนำที่เป็นประโยชน์สำหรับการทำเช่นนั้นมีดังนี้

  1. ค้นหาสถานที่ตั้งของไบนารีทั่วโลกของคุณ NPM npm config get prefixไปนี้: เส้นทางนี้อาจดูเหมือนC:\Users\username\AppData\Roaming\npm(หรือC:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\toolsถ้าคุณใช้Chocolatey )
  2. เพิ่มเส้นทางจากขั้นตอนที่ 1 ไปยังเส้นทางของคุณ

    • เปิดแผงควบคุมของ Windows ค้นหาenvironmentจากนั้นคลิกที่อย่างใดอย่างหนึ่งedit environment variables for your accountหรือแก้ไขตัวแปรสภาพแวดล้อมของระบบ

    • ค้นหาตัวแปรที่ชื่อPathหรือPATHหรือสร้างขึ้นมาหากไม่มีอยู่

    • วางเส้นทางจากขั้นตอนที่ 1 ที่นี่ ( ;คั่นด้วย)

    • คุณอาจต้องรีสตาร์ทหน้าต่างพรอมต์คำสั่ง

  3. ตอนนี้คุณควรป้อนbowerคำสั่งได้แล้ว


1
สำหรับผู้ใช้ช็อกโกแลต: C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan

ใช้ได้กับnpm 1.3.2และbower 1.7.9.
Animesh Pandey

ในกรณีของฉัน 'C: \ Users \ ชื่อผู้ใช้ \ AppData \ Roaming \ npm' ถูกตั้งค่าในสภาพแวดล้อม vairables แล้วอย่างไรก็ตามการเรียกใช้ 'npm config get prefix' พบว่าเส้นทางนั้นมี. ssh อยู่ในนั้น (C: \ Users \ username \ .ssh \ AppData \ Roaming \ npm) ดังนั้นการเขียนทับสิ่งนี้ในตัวแปรสภาพแวดล้อมช่วยแก้ปัญหาได้
Monis Iqbal

สำหรับ / f% a ('npm config get prefix') do setx path% a
Alex

เพียงเพื่อแจ้งให้ผู้อื่นทราบสิ่งนี้ใช้ได้ผลกับฉันสำหรับปัญหาเดียวกันกับที่เจนกินส์พบบน Windows เช่นกันซึ่งตรงข้ามกับคำตอบมากมายที่ชี้ถึงการวินิจฉัยที่เกี่ยวข้องกับเจนกินส์
Monis Iqbal

19

ในกรณีนี้ช่วยได้

ฉันเป็น npm / bower nooB - แต่สิ่งที่เกิดขึ้นในกรณีของฉันคือฉันใช้การสอน Angular JS ซึ่งดูเหมือนว่าจะมีการตั้งค่า bower ให้ใช้ผ่าน npmไม่ใช่ผ่านบรรทัดคำสั่งโดยตรง

หมายเหตุ: ในกรณีของฉันฉันคิดว่าการติดตั้ง bower ของฉันยุ่งเหยิง ฉันรันสิ่งนี้เพื่อแก้ไขการติดตั้ง bower ของฉัน:

npm install -gf bower

จากนั้นฉันแก้ไขไฟล์ bower.json เพื่อเพิ่มในไลบรารีใหม่ที่ฉันต้องการใช้ (ในกรณีของฉัน angular-sanitize)

ฉันซีดีไปยังที่ตั้งของโครงการของฉัน

cd myProjectPath

จากนั้นเพื่อเรียกใช้ bower ฉันใช้การติดตั้ง npm:

npm install

ดูเหมือนว่าจะเรียกใช้ bower เป็นแพ็คเกจโหนดซึ่งจะสแกน bower.json และติดตั้งแพ็คเกจ bower ที่หายไป

ในการรัน bower เป็นแพ็คเกจ npm ให้เพิ่มnpmก่อนคำสั่ง bower:

npm bower -v

หวังว่านี่จะช่วยได้

ฌอน


1
"ใช้ผ่าน npm" อย่างไร?
นึ่ง

สวัสดี steampowered - เอ้อพูดตามตรงมันเป็นเวลานานแล้วที่ฉันเขียนสิ่งนี้ ฉันคิดว่าฉันหมายถึงวิธี 'ปกติ' ในการเรียกใช้ bower มาจากบรรทัดคำสั่ง: bower แต่ในข้อความด้านบนฉันใช้: npm install
Sean

11

หากวิธีแก้ปัญหาข้างต้นไม่ได้ผล ฉันคิดว่าคุณควรระบุพา ธ สัมบูรณ์เพื่อใช้ bower ใน command prompt ในโฟลเดอร์แอพของฉันฉันแค่โทร

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

นี่คือเนื้อหาใน bower.cmd ของฉัน ดูเหมือนว่า windows ของฉันไม่รู้จักตัวแปร ~ dp0

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

ใช่เพื่อให้ทำงานเป็น bower ติดตั้งยอดเยี่ยม แต่ฉันต้องการให้มันทำงานเป็น bower install :(
Dragutescu Alexandru

มีข้อความไม่มี bower.json ปัจจุบัน
hfrog713

2

สิ่งนี้จะเกิดขึ้นแน่นอนหากตัวแปร Windows PATH ของคุณใกล้เคียงกับความยาวสัญลักษณ์ 1024 ดังนั้นลิงก์ใหม่เช่น "C: \ Users \ username \ AppData \ Roaming \ npm" จะไม่เข้ากัน

ตรวจสอบ PATH ของคุณลบสิ่งพิเศษและลองติดตั้ง node.js และ bower ใหม่เป็นต้นนอกจากนี้ยังมีวิธีเพิ่มขีดจำกัดความยาว 1024


1

ดังที่คนอื่น ๆ กล่าวถึงต้องเพิ่ม bower ลงในตัวแปรสภาพแวดล้อม แต่วิธีที่ง่ายที่สุดในการค้นหาคือเพียงพิมพ์ตำแหน่ง npm ของคุณก่อนจากนั้นใช้Browse Fileและค้นหา bower ในระบบของคุณ (คุณสามารถค้นหาได้ในแถบค้นหาเช่นกัน) เนื่องจาก ตำแหน่งอาจแตกต่างกันไปสำหรับผู้ใช้ที่แตกต่างกัน

ตัวอย่างในตอนท้ายของฉัน



0

ปัญหาเดียวกัน. ฉันแก้ไขโดยใช้ bower เวอร์ชันอื่น ใช้งานได้เมื่อฉันพยายามใช้เวอร์ชัน 1.2.6

$ npm ติดตั้ง -g bower@1.2.6


0

ฉันมีปัญหานี้หลังจากติดตั้ง Chocolatey 0.9.8.28 ฉันลองใช้วิธีแก้ปัญหาส่วนใหญ่ที่ระบุไว้ที่นี่ แต่ฉันไม่สามารถรับ 'bower -v' ในบรรทัดคำสั่ง Powershell ได้ สิ่งนี้ดูแปลกเล็กน้อยเนื่องจาก Chocolatey Install เป็น 'All about' Powershell ในที่สุดฉันก็สามารถประสบความสำเร็จได้ด้วยการกำหนดเส้นทางเพื่อให้ Powershell ค้นหาการตั้งค่าตัวแปร PATH ที่อัปเดตแล้ว แต่ฉันต้องการความช่วยเหลือเพื่อทำความเข้าใจว่าทำไมและต้องทำอย่างไรซึ่งฉันให้ไว้ด้านล่าง:

หลังจากล้มเหลวกับ Powershell ในตอนแรกฉันสามารถไปที่บรรทัดคำสั่ง DOS มาตรฐาน (ไม่ใช่โดยใช้ cmd / c ใน powershell) และดำเนินการตั้งค่าเส้นทางรูปแบบต่างๆที่กล่าวถึงข้างต้นได้สำเร็จและประสบความสำเร็จในการมองเห็น bower และคำสั่ง bower ที่รู้จัก โดยบรรทัดคำสั่ง DOS และหน้าต่าง cmd แสดงพา ธ ที่อัปเดตแบบเต็ม (C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools) - โปรดสังเกตว่าหมายเลขเวอร์ชันอาจเปลี่ยนแปลงจากรายการโดย KimchiMan ผู้มีเกียรติ

เส้นทางนี้คงอยู่ผ่านการปิดและเปิดหน้าต่างบรรทัดคำสั่ง DOS ใหม่ แต่ไม่รู้จัก (เคย) ในหน้าต่าง Powershell ใด ๆ

จากนั้นฉันก็ค้นพบการสนทนาที่เกี่ยวข้องดังต่อไปนี้ตั้งค่า Powershell Path Settings

สิ่งนี้ชี้ให้เห็นว่า Powershell รู้จักเวอร์ชันการตั้งค่าเส้นทาง HKLM เมื่อเริ่มต้นระบบ และเป็นไปได้ที่จะตั้งค่า Path EITHER ในเซสชัน (ไม่ต่อเนื่อง) หรือใน Registry (ถาวร) ต่อไปนี้โดยตรงจากการสนทนานั้น

commmands เหล่านี้สามารถตั้งค่า PATH ชั่วคราวสำหรับ powershell SESSION:

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

คำสั่งเหล่านี้สามารถตั้งค่า PATH อย่างถาวรสำหรับ Powershell Sessions ใหม่ทั้งหมด:

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

แต่ฉันเคยยุ่งกับการตั้งค่ารีจิสทรีโดยใช้โปรแกรมมาก่อนและฉันไม่เชื่อว่าสคริปต์ PS หนึ่งหรือสองบรรทัดขึ้นอยู่กับงานนี้ ดังนั้นฉันจึงไม่ได้ลองใช้ตัวเลือกนี้

แต่ฉันไปที่คอนโซลแผงควบคุม / ระบบและเปลี่ยนเส้นทางผ่านกล่องโต้ตอบตัวแปรสภาพแวดล้อม ฉันสังเกตเห็นว่าความพยายามทั้งหมดที่ฉันได้ทำเพื่อเปลี่ยนเส้นทางด้วย set PATH ในบรรทัดคำสั่ง DOS ได้ทำงานในระหว่างเซสชัน windows แต่รายการพา ธ ใหม่ยังไม่คงอยู่กับ Environment Variables / Registry แม้ว่าเซสชัน Dos จะทำงานเป็น ผู้ดูแลระบบ

หลังจากที่ฉันทำการเปลี่ยนแปลงนี้ผ่านแผงควบคุมเส้นทางที่อัปเดตสำหรับ bower ในโฟลเดอร์ tools ของ Chococlatey (และน่าจะเป็นการติดตั้งเครื่องมือที่ตามมาทั้งหมด) ได้รับการตั้งค่าอย่างถาวรและ bower สามารถใช้ได้ทั้งในบรรทัดคำสั่ง DOS และในบรรทัดคำสั่ง Powershell

หวังว่านี่จะช่วยได้ ...


0

ถอนการติดตั้ง 64 บิตและการติดตั้ง nodejs เวอร์ชัน 32 บิตพร้อมกับ git- 32bit ใช้งานได้!


0

มีปัญหาเดียวกัน ฉันเพิ่งรัน "npm install -g bower" จากนั้นไปที่ไดเร็กทอรีที่ดาวน์โหลดมาในกรณีของฉันตำแหน่งคือ "C: \ Users \ user \ AppData \ Roaming \ npm \ node_modules \ bower"

จากไดเร็กทอรีฉันใช้ bower และทุกอย่างทำงานได้ดีแม้จากไดเร็กทอรีอื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.