번 들러 : 명령을 찾을 수 없음


141

일부 자습서에 따라 vps, 우분투 10.04, 레일 3, 루비 및 mysql을 올바르게 설치했습니다. 실행 bundle check하거나 bundle install'-bash : bundle : command not found'오류가 발생합니다. 에서 gem list --local나는 '번 들러 (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
번 들러를 설치 했습니까?
shingara

답변:


87

ruby gem 실행 디렉토리를 경로에 추가해야합니다

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

14
uBuntu 11.04에서 최신 명령 경로는 이제 export PATH = $ PATH : /var/lib/gems/1.8/bin입니다.
Antony

업데이트 : 우분투 11.04에서는 최신 RubyGem을 사용하려는 한 RVM을 설치하고 원하는 Ruby 버전을 설치해야하기 때문에 경로가 관련이없는 것 같습니다.
Antony

나를 위해 일한 Antony와 나는 주요 답변에 대한 업데이트를 제출했습니다.
Michael Durrant

5
Arch Linux의 경우 export PATH = $ PATH : ~ / .gem / ruby ​​/ 2.0.0 / bin (루비 버전에 맞게 조정)을 사용하십시오.
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:$PATHDocker와 함께 사용하십시오 .
crizCraig

199

내 문제는 내가 한 것입니다.

sudo gem install bundler

그래서 나는 나 자신이 아닌 루트로 설치했습니다. 그래서 루트로 제거한 다음 나 자신으로 설치했습니다.

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설치하면 현재 사용중인 루비 버전과 함께 설치됩니다 rbenv versions(*로 표시되어야 함). 번 들러 젬을 설치하면 bundle install프로젝트별로 젬을 설치할 수있는 젬을 사용할 수 있습니다. 당신이 경향이있는 보석 gem install은 번 들러와 제우스와 같은 것들입니다. 때 gem install, 당신은 rbenv rehash나중에 실행해야합니다 . 그냥 어때요?
xxjjnn

Windows 에서이 문제가 발생했습니다. 랑 gem install bundler그리고 이제 다 괜찮아
Dan Atkinson

25

... 데비안 GNU / 리눅스 6.0 :)

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

나에게 도움이되지 않았다, 어떤 제안? -GEM 경로 :-/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/gems/1.8/bin : / var / lib / gems / 1.8 / bin
Juan

15

나는 이것을했다 (2013 년 3 월 현재 우분투 최신 [나는 생각 :)]) :

sudo gem install bundler

크레딧은 Ray Baxter 로갑니다 .

보석이 필요한 경우 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

우분투 11.10을 실행 중이며 번들 실행 파일이 다음 위치에 있습니다.

/var/lib/gems/1.8/bin

3

내 솔루션은 해당 리포지토리에 Ruby 버전을 선택했는지 확인하는 것이 었습니다.

예 : 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"

또는 사용자 전체에 gem을 설치 한 경우 다음을 사용하십시오.

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

rbenv rehash다른 루비를 설치할 때 확인하십시오


1

1 단계 : 경로 실제 작업 공간에 있는지 확인하십시오 (예 : workspace / blog $ : 2 단계 : gem install bundler 명령을 입력하십시오). 3 단계 : 지금까지 번들 설치 또는 번들 업데이트로 설정되어 있어야합니다.


1

내 아치 리눅스 설치에서 gem은 ~/.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

심볼릭 링크를 만들 수도 있습니다.

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당신이 전체 빈 디렉토리가 아닌 번들하는 SYM 링크를 만들고 싶어?
Ashish Singh

0

나는 똑같은 문제가 있었고 실행하여 해결할 수있었습니다.

rbenv rehash

그 후 bundle예상대로 작동했습니다. rbenv 위키 항목을 살펴보면 설치된 gem이 명령을 제공 할 때 rehash가 실행되어야한다고 언급합니다.

rbenv로 알려진 모든 Ruby 실행 파일에 대해 shim을 설치합니다 (예 : ~ / .rbenv / versions / / bin / ). 새 버전의 Ruby를 설치하거나 명령을 제공하는 gem을 설치 한 후이 명령을 실행하십시오.

분명히 이것은 일부 사람들이 rehash다시 는 달릴 필요가 없도록 보석을 썼다는 귀찮은 일입니다 . rbenv-gem-rehash


0

rbenv: bundle: command not found몇 달 전에 내가 만든 오래된 레일 프로젝트를 복제 한 후이 오류가 발생했습니다 . 특정 버전의 번 들러를 설치하거나 다음 명령을 실행하여 사용 가능한 최신 번 들러를 설치하십시오.

운영 gem install 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% 20the % 20 번 들러 % 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.