2010-10-12 47 views
107

Tôi đang lưu trữ trên vps, ubuntu 10.04, đường ray 3, ruby ​​và mysql được cài đặt chính xác bằng cách làm theo một số hướng dẫn. Nếu tôi chạy bundle check hoặc bundle install Tôi nhận được lỗi '-bash: bundle: command not found'. Từ gem list --local Tôi thấy 'bundler (1.0.2, 1.0.0)' được cài đặt.bundle: lệnh không tìm thấy

Tôi không biết những gì đang xảy ra sai ...

gem environment lợi nhuận:

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 lợi nhuận:

/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 lợi nhuận:

/usr/bin/gem 

locate bundle lợi nhuận:

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

bạn đã cài đặt gói chưa? – shingara

Trả lời

71

Bạn cần phải thêm đá quý ruby ​​thư mục thực thi để con đường của bạn

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

Theo uBuntu 11.04, đường dẫn lệnh mới nhất hiện là xuất PATH = $ PATH: /var/lib/gems/1.8/bin – Antony

+0

Cập nhật: dưới ubuntu 11.04, có vẻ như đường dẫn không liên quan, bởi vì miễn là chúng ta muốn sử dụng RubyGem mới nhất, chúng ta chỉ cần cài đặt RVM và cài đặt phiên bản Ruby mong muốn. – Antony

+0

Antony đã làm việc cho tôi và tôi đã gửi bản cập nhật cho câu trả lời chính. –

0

Tôi nghĩ bó thực thi là:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin và nó không phải trong $ PATH của bạn

0

Bạn cũng có thể tạo liên kết tượng trưng:

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

'ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle/usr/bin/bundle' nó phải là cái này với một' bó' bạn muốn thêm tạo liên kết sym cho gói chứ không phải toàn bộ thư mục bin? –

+0

Cập nhật cho phù hợp – ideaoforder

3

Tôi đang chạy ubuntu 11.10 và bó thực thi được đặt tại:

/var/lib/gems/1.8/bin 
25

... cũng dành cho Debian GNU/Linux 6.0 :)

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

Didnt làm việc cho tôi, bất cứ đề nghị? - GEM con đường: - /var/lib/gems/1.8 - /kunden/homepages/11/dxxxxxx/htdocs/.gem/ruby/1.8 echo $ PATH ~/.composer/vendor/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/local/ms : /kunden/homepages/11/d3xxxxxx/htdocs/.rvm/bin:/var/lib/đá quý/1,8/bin:/var/lib/ đá quý/1.8/bin – Juan

6

Tôi đã làm điều này (Ubuntu mới nhất kể từ tháng 3 năm 2013 [Tôi nghĩ :)]):

sudo gem install bundler 

Tín dụng chuyển đến Ray Baxter.

Nếu bạn cần đá quý, tôi cài đặt của Ruby cách này (mặc dù điều này là thuế kinh niên):

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 
162

Vấn đề của tôi là tôi đã làm:

sudo gem install bundler 

Vì vậy, tôi đã được cài đặt như là người chủ chứ không phải hơn là bản thân tôi. Vì vậy, tôi gỡ bỏ cài đặt như là người chủ, sau đó cài đặt như bản thân mình:

sudo gem uninstall bundler 
gem install bundler 
rbenv rehash 

(lệnh cuối cùng vì nếu bạn đang sử dụng rbenv)

Và nó làm việc. "Đúng" con đường trong .bashrc (hoặc hồ sơ vỏ khác), ít nhất là theo

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

nhưng nó đã mong đợi nó sẽ được cài đặt cho bản thân mình - không cho root.Trong trường hợp của tôi, nơi cài đặt chính đáng của nó là trong ~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler

+0

Đây là MỘT trong nhiều cách để có được ~ "lệnh bó không tìm thấy" – xxjjnn

+5

rash rehash làm việc cho tôi - Cảm ơn! –

+1

Đối với tôi rbenv rehash cũng làm việc. Nó là gì?? – Timo

0

Hãy chắc chắn rằng bạn làm rbenv rehash khi cài đặt hồng ngọc khác nhau

1

giải pháp của tôi là để đảm bảo rằng tôi chọn một phiên bản của Ruby cho repo đó.

Ví dụ: chruby 2.2.2 hay 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/......... 
0

tôi đã có vấn đề chính xác cùng và đã có thể giải quyết nó bằng cách chạy

rbenv rehash 

Sau đó bundle làm việc như mong đợi. Khi xem xét mục nhập rbenv wiki, nó đề cập đến việc rehash nên được chạy khi gem được cài đặt cung cấp các lệnh.

Cài đặt miếng chêm cho tất cả các thực thi của Ruby biết đến rbenv (ví dụ: ~/.rbenv/phiên bản//bin/). Chạy lệnh này sau khi bạn cài đặt phiên bản mới của Ruby hoặc cài đặt một gem cung cấp lệnh.

Dường như đây là một sự khó chịu đến nỗi một số người đã viết đá quý để đảm bảo bạn không bao giờ cần chạy lại rehash. rbenv-gem-rehash

1

Bước 1: Đảm bảo bạn đang ở trên vùng làm việc thực tế của đường dẫn.Ví dụ, không gian làm việc/blog $: Bước 2: Nhập lệnh: gói cài đặt gem. Bước 3: Bạn phải được tất cả các thiết lập để bó cài đặt hoặc cập nhật bó bây giờ

0

lẽ distro chống con đường sẽ bổ sung này để .bashrc hoặc zshrc của bạn, bất kể vỏ của bạn là:

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

hoặc nếu bạn đã cài đặt đá quý của mình trên toàn người dùng, hãy sử dụng:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH" 
Các vấn đề liên quan