Bundler: ไม่พบคำสั่ง


141

ฉันกำลังโฮสต์บน vps, ubuntu 10.04, ราง 3, ruby ​​และ mysql ติดตั้งอย่างถูกต้องโดยทำตามบทเรียนบางอย่าง ถ้าฉันเรียกใช้bundle checkหรือbundle installฉันได้รับข้อผิดพลาด '-bash: bundle: command command not found' จากgem list --localฉันเห็นการติดตั้ง 'bundler (1.0.2, 1.0.0)'

ฉันไม่รู้ว่าเกิดอะไรขึ้น ...

gem environment ผลตอบแทน:

 RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-linux]
  - INSTALLATION DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby
  - EXECUTABLE DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
     - /root/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

และecho $PATHผลตอบแทน:

/opt/myruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/gem:/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/:/root/.gem/ruby/1.8

และwhich gemผลตอบแทน:

/usr/bin/gem

locate bundle ผลตอบแทน:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/

7
คุณติดตั้ง Bundler แล้วหรือยัง
shingara

คำตอบ:


87

คุณต้องเพิ่มไดเรคทอรี่อัญมณี ruby ​​ลงในพา ธ ของคุณ

export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin

14
ภายใต้ uBuntu 11.04 พา ธ คำสั่งล่าสุดจะส่งออก PATH = $ PATH: /var/lib/gems/1.8/bin
แอนโทนี

อัปเดต: ภายใต้ ubuntu 11.04 ดูเหมือนว่าเส้นทางนั้นไม่เกี่ยวข้องเพราะตราบใดที่เราต้องการใช้ RubyGem ล่าสุดเราก็ต้องติดตั้ง RVM และติดตั้ง Ruby รุ่นที่ต้องการ
Antony

แอนโทนีใช้งานได้สำหรับฉันและฉันได้ส่งการอัปเดตไปยังคำตอบหลัก
Michael Durrant

5
สำหรับ Arch Linux ให้ใช้ export PATH = $ PATH: ~ / .gem / ruby ​​/ 2.0.0 / bin (ปรับรุ่น Ruby ของคุณ)
Kostas Maragos

สำหรับการใช้ rvm export /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHหรือENV PATH /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHด้วย Docker
crizCraig

199

ปัญหาของฉันคือว่าฉันทำ:

sudo gem install bundler

ดังนั้นฉันจึงติดตั้งเป็นรูทแทนที่จะเป็นตัวเอง ดังนั้นฉันถอนการติดตั้งเป็น root แล้วติดตั้งเป็นตัวเอง:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(คำสั่งสุดท้ายสำหรับถ้าคุณใช้ rbenv)

และมันก็ใช้งานได้ เส้นทาง "ถูกต้อง" อยู่ใน.bashrc(หรือรายละเอียดเปลือกอื่น ๆ ) อย่างน้อยตาม

$PATH
=> zsh: /Users/myself/.rbenv/shims:/Users/myself/.rbenv/bin: ... etc

แต่มันก็คาดหวังว่าจะติดตั้งสำหรับตัวเอง - ไม่ใช่สำหรับรูต ในกรณีของฉันสถานที่ติดตั้งที่ถูกต้องอยู่ใน~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler


3
rbenv เป็นทางเลือกให้กับ RVM มันจัดการเวอร์ชั่นทับทิมที่แตกต่างกันทั้งหมดของคุณ เมื่อคุณติดตั้ง gem ด้วยgem installมันจะติดตั้งมันพร้อมกับ ruby ​​เวอร์ชันที่ใช้ในปัจจุบันซึ่งคุณสามารถดูได้เมื่อคุณทำrbenv versions(ควรทำเครื่องหมายด้วย *) เมื่อคุณติดตั้งอัญมณี bundler คุณสามารถbundle installอัญมณีที่จะช่วยให้คุณติดตั้งอัญมณีในแต่ละโครงการ อัญมณีที่คุณมักจะgem installเป็นเช่น Bundler และ Zeus เมื่อคุณgem installคุณต้องทำงานrbenv rehashหลังจากนั้น มันเป็นอย่างไร
xxjjnn

ฉันมีปัญหานี้ใน Windows รังgem install bundlerและจะดีทั้งหมดในขณะนี้
Dan Atkinson

25

... เช่นกันสำหรับ Debian GNU / Linux 6.0 :)

export PATH=$PATH:/var/lib/gems/1.8/bin

ไม่ได้ผลสำหรับฉันคำแนะนำใด ๆ - GEM PATHS: - /var/lib/gems/1.8 - /kunden/homepages/11/dxxxxxx/htdocs/.gem/ruby/1.8 echo $ PATH ~ / .composer / ผู้ขาย / ถัง: / usr / local / bin: / usr / bin: / usr / X11R6 / bin: / bin: / usr / local / ms: /kunden/homepages/11/d3xxxxxx/htdocs/.rvm/bin: /var/lib/gems/1.8/bin: / var / lib / gems / 1.8 / bin
Juan

15

ฉันทำสิ่งนี้ (Ubuntu ล่าสุด ณ มีนาคม 2013 [ฉันคิดว่า :)]):

sudo gem install bundler

เครดิตไปที่เรย์แบ็กซ์เตอร์

หากคุณต้องการอัญมณีฉันติดตั้ง Ruby ด้วยวิธีนี้ (แม้ว่านี่จะเก็บภาษีแบบเรื้อรัง):

mkdir /tmp/ruby && cd /tmp/ruby
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
tar xfvz ruby-1.9.3-p327.tar.gz
cd ruby-1.9.3-p327
./configure
make
sudo make install


3

โซลูชันของฉันคือตรวจสอบให้แน่ใจว่าฉันเลือก Ruby รุ่นหนึ่งสำหรับ repo นั้น

ตัวอย่าง: chruby 2.2.2หรือrvm use 2.2.2

λ bundle install
zsh: command not found: bundle

λ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

### Notice the system Ruby version isn't included in chruby

λ chruby
  ruby-1.9.3-p551
  ruby-2.1.2
  ruby-2.2.1

### Select a version via your version manager

λ chruby 1.9.3

### Ensure your version manager properly selects a version (*)

λ chruby
 * ruby-1.9.3-p551
   ruby-2.1.2
   ruby-2.2.1

λ bundle install
Fetching gem metadata from https://rubygems.org/.........

3

เส้นทางที่อาจเป็น distro-proof ถูกเพิ่มเข้าไปใน. bashrc หรือ. zshrc ของคุณไม่ว่าเชลล์ของคุณจะเป็นอะไร:

PATH="$(ruby -e 'print Gem.default_dir')/bin:$PATH"

หรือหากคุณติดตั้งพลอยให้กับผู้ใช้ให้ใช้:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

2

สำหรับผู้ใช้ rbenv:

$ rbenv versions
2.6.0
$ rbenv global 2.6.0
$ ruby -v
ruby 2.6.0p0
$ gem install bundler
$ rbenv rehash
$ bundle
$ rails -v
Command 'rails' not found
$ rbenv rehash
$ rails -v
Rails 4.2.11.1


1

ขั้นตอนที่ 1: ตรวจสอบให้แน่ใจว่าคุณอยู่บนเส้นทางพื้นที่ทำงานจริงตัวอย่างเช่นพื้นที่ทำงาน / บล็อก $: ขั้นที่ 2: ป้อนคำสั่ง: gem install bundler ขั้นตอนที่ 3: คุณควรได้รับการตั้งค่าให้ติดตั้งบันเดิลหรืออัพเดตบันเดิลโดยทันที


1

เมื่อวันที่ Arch Linux ของฉันติดตั้งอัญมณีมีการติดตั้งไปยัง~/.gem/ruby/2.6.0/binไดเรกทอรีถ้าติดตั้งเป็นผู้ใช้หรือถ้าติดตั้งผ่านทาง/root/.gem/ruby/2.6.0/bin sudoเพียงเพิ่มอันที่เหมาะสมกับ$PATHตัวแปรสภาพแวดล้อมของคุณ:

export PATH=$PATH:/home/your_username/.gem/ruby/2.6.0/bin

0

ฉันคิดว่าชุดปฏิบัติการปฏิบัติการเปิดอยู่:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin และมันไม่ได้อยู่ใน $ PATH ของคุณ


0

คุณยังสามารถสร้าง symlink:

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundleมันควรจะเป็นอย่างนี้bundleถ้าคุณต้องการสร้างลิงค์เชื่อมโยงไปยังชุดแทนที่จะเป็นถังขยะทั้งหมด
Ashish Singh

0

ฉันมีปัญหาเดียวกันที่แน่นอนและสามารถแก้ไขได้ด้วยการเรียกใช้

rbenv rehash

หลังจากนั้นbundleทำงานตามที่คาดไว้ เมื่อดูที่รายการ rbenv wiki มันไม่ได้กล่าวถึงว่าการทำรูปแบบใหม่ควรจะทำงานเมื่ออัญมณีที่ติดตั้งให้คำสั่ง

ติดตั้ง shims สำหรับโปรแกรมเรียกใช้ Ruby ทั้งหมดที่รู้จักกับ rbenv (เช่น ~ / .rbenv / versions / / bin / ) รันคำสั่งนี้หลังจากคุณติดตั้ง Ruby เวอร์ชันใหม่หรือติดตั้ง gem ที่ให้คำสั่ง

เห็นได้ชัดว่านี่เป็นเรื่องน่ารำคาญที่บางคนเขียนอัญมณีเพื่อให้แน่ใจว่าคุณไม่จำเป็นต้องวิ่งrehashอีกครั้ง rbenv-อัญมณีในรูปแบบใหม่


0

ฉันได้รับข้อผิดพลาดนี้ rbenv: bundle: command not foundหลังจากโคลนโครงการรางรถไฟเก่าที่ฉันสร้างขึ้นเมื่อสองสามเดือนก่อน นี่คือสิ่งที่ฉันทำเกี่ยวกับมัน: ในการติดตั้ง Bundler รุ่นที่ระบุหรือเพียงแค่เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Bundler ที่มีอยู่ล่าสุด:

วิ่ง gem install bundler

จากนั้นฉันติดตั้ง Bundler เวอร์ชันที่แน่นอนที่ฉันต้องการด้วยคำสั่งนี้:

$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"

[ตรวจสอบรายละเอียดเพิ่มเติมจากบทความนี้] ( https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install% 20% 20Bundler% 20gem ตรวจสอบบทความนี้สำหรับรายละเอียดเพิ่มเติม

รับฟังการทำงานโดยการออกคำสั่งนี้

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

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