Bundler: Perintah tidak ditemukan

141

Saya hosting di vps, ubuntu 10.04, rails 3, ruby ​​dan mysql diinstal dengan benar dengan mengikuti beberapa tutorial. Jika saya menjalankan bundle checkatau bundle installsaya mendapatkan kesalahan '-bash: bundle: command not found'. Dari gem list --localsaya melihat 'bundler (1.0.2, 1.0.0)' diinstal.

Saya tidak tahu apa yang salah ...

gem environment pengembalian:

 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/

dan echo $PATHmengembalikan:

/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

dan which gemmengembalikan:

/usr/bin/gem

locate bundle pengembalian:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/
raphael_turtle
sumber
7
sudahkah Anda menginstal bundler?
shingara

Jawaban:

87

Anda perlu menambahkan direktori executable ruby ​​gem ke path Anda

export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin
Peter Brown
sumber
14
Di bawah uBuntu 11.04, jalur perintah terbaru sekarang mengekspor PATH = $ PATH: /var/lib/gems/1.8/bin
Antony
Pembaruan: di bawah ubuntu 11.04, sepertinya jalannya tidak relevan, karena selama kita ingin menggunakan RubyGem terbaru, kita hanya perlu menginstal RVM dan menginstal versi Ruby yang diinginkan.
Antony
Antony yang bekerja untuk saya dan saya telah mengirimkan pembaruan ke jawaban utama.
Michael Durrant
5
Untuk Arch Linux, gunakan ekspor PATH = $ PATH: ~ / .gem / ruby ​​/ 2.0.0 / bin (sesuaikan untuk versi Ruby Anda)
Kostas Maragos
Untuk penggunaan rvm export /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHatau ENV PATH /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHdengan Docker.
crizCraig
199

Masalah saya adalah saya melakukannya:

sudo gem install bundler

Jadi saya telah menginstal sebagai root daripada sebagai diri saya sendiri. Jadi saya menghapus instalan sebagai root, lalu diinstal sebagai diri saya sendiri:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(perintah terakhir untuk jika Anda menggunakan rbenv)

Dan itu berhasil. Jalur "benar" ada di .bashrc(atau profil shell lainnya), setidaknya menurut

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

tapi itu mengharapkan untuk diinstal untuk saya sendiri - bukan untuk root. Dalam kasus saya, tempat instalasinya yang sah ada di~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler

xxjjnn
sumber
3
rbenv adalah alternatif untuk RVM. Ia mengelola semua versi ruby ​​Anda yang berbeda. Ketika Anda menginstal permata dengan gem installitu menginstalnya di samping versi ruby ​​yang saat ini digunakan yang dapat Anda lihat ketika Anda melakukannya rbenv versions(itu harus ditandai dengan *). Saat Anda menginstal permata bundler, Anda dapat menggunakan bundle installpermata yang memungkinkan Anda memasang permata berdasarkan proyek. Permata yang cenderung Anda gem installmiliki adalah bundler dan zeus. Ketika Anda gem install, Anda harus menjalankannya rbenv rehashsetelah itu. Seperti itulah adanya.
xxjjnn
Saya punya masalah ini di Windows. Mulai gem install bundlerdan semuanya baik-baik saja sekarang.
Dan Atkinson
25

... juga untuk Debian GNU / Linux 6.0 :)

export PATH=$PATH:/var/lib/gems/1.8/bin
Lars Moelleken
sumber
Tidak bekerja untuk saya, ada saran? - GEM PATHS: - /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: /undund/homepages/11/d3xxxxxx/htdocs/.rvm/bin: /var/lib/gems/1.8/bin: / var / lib / permata / 1.8 / bin
Juan
15

Saya melakukan ini (Ubuntu terbaru per Maret 2013 [saya pikir :)]):

sudo gem install bundler

Kredit diberikan kepada Ray Baxter .

Jika Anda membutuhkan permata, saya menginstal Ruby dengan cara ini (meskipun ini sangat membebani):

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
Cody
sumber
3

Saya menjalankan ubuntu 11.10 dan bundle executable terletak di:

/var/lib/gems/1.8/bin
spectralsun
sumber
3

Solusi saya adalah memastikan saya memilih versi Ruby untuk repo itu.

Contoh: chruby 2.2.2ataurvm 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/.........
Mark Evans
sumber
3

Mungkin jalur tahan-distro menambahkan ini ke .bashrc atau .zshrc Anda, apa pun cangkang Anda:

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

atau jika Anda telah menginstal permata Anda di seluruh pengguna, gunakan:

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

Untuk pengguna 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
Donato
sumber
1

Pastikan Anda melakukannya rbenv rehashsaat memasang rubi yang berbeda

Peter
sumber
1

Langkah 1: Pastikan Anda berada di jalur ruang kerja yang sebenarnya. Misalnya, ruang kerja / blog $: Langkah2: Masukkan perintah: gem install bundler. Langkah 3: Anda harus siap untuk menginstal bundel atau memperbarui bundel sekarang

unedujoe
sumber
1

Di install Arch Linux saya, permata diinstal ke ~/.gem/ruby/2.6.0/bindirektori jika diinstal sebagai pengguna, atau /root/.gem/ruby/2.6.0/binjika diinstal melalui sudo. Cukup tambahkan yang sesuai ke $PATHvariabel lingkungan Anda :

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

Saya pikir bundle executable aktif:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin dan itu tidak ada dalam $ PATH Anda

shingara
sumber
0

Anda juga dapat membuat symlink:

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle
ide pesanan
sumber
ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundleseharusnya ini dengan tambahan bundleAnda ingin membuat tautan sym ke bundel daripada seluruh direktori bin?
Ashish Singh
0

Saya memiliki masalah yang sama persis dan dapat menyelesaikannya dengan menjalankan

rbenv rehash

Setelah itu bundlebekerja seperti yang diharapkan. Setelah melihat entri wiki rbenv itu menyebutkan bahwa pengulangan harus dijalankan ketika permata yang diinstal memberikan perintah.

Menginstal shims untuk semua executable Ruby yang dikenal ke rbenv (yaitu, ~ / .rbenv / versi / / bin / ). Jalankan perintah ini setelah Anda menginstal Ruby versi baru, atau instal permata yang menyediakan perintah.

Rupanya ini adalah gangguan yang membuat beberapa orang menulis permata untuk memastikan Anda tidak perlu berlari rehashlagi. rbenv-gem-rehash

Dan Bradbury
sumber
0

Saya mendapatkan kesalahan ini rbenv: bundle: command not foundsetelah mengkloning proyek rel tua yang saya buat beberapa bulan lalu. di sini adalah bagaimana saya melakukannya: Untuk menginstal versi bundler tertentu atau jalankan perintah berikut untuk menginstal bundler terbaru yang tersedia:

Lari gem install bundler

kemudian saya menginstal versi yang tepat dari bundler yang saya inginkan dengan perintah ini:

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

[periksa artikel ini untuk lebih jelasnya] ( https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install%% 20% 20Bundler% 20gem periksa artikel ini untuk lebih jelasnya

dapatkan pekerjaan mendengarkan dengan mengeluarkan perintah ini

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

Addo
sumber