捆绑器。没有找到命令

问题描述 投票:138回答:14

我在一个vps上托管,ubuntu 10.04,rails 3,ruby和mysql按照一些教程正确安装。如果我运行 bundle checkbundle install 我得到的错误是"-bash: bundle: 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/
ruby-on-rails bundler
14个回答
87
投票

你需要将ruby gem可执行目录添加到你的路径中。

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

199
投票

我的问题是,我做到了。

sudo gem install bundler

我是以root的身份安装的,而不是以自己的身份安装的。所以我以root的身份卸载,然后以自己的身份安装。

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(最后一条命令,如果你使用的是rbenv)

而且它的工作。"正确 "的路径 .bashrc (或其他外壳轮廓),至少根据以下规定

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

但它希望它是为我自己安装的,而不是为root安装的。在我的情况下,它的正确安装位置是在 ~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler


25
投票

... 也适用于Debian GNULinux 6.0 :)

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

15
投票

我做了这个 (Ubuntu 最新的2013年3月 [ 我想 :) ])。

sudo gem install bundler

归功于 Ray Baxter.

如果你需要gem,我以这种方式安装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
投票

我运行的是ubuntu 11.10,bundle可执行文件位于..:

/var/lib/gems/1.8/bin

3
投票

我的解决方案是确保我选择了一个Ruby的版本来安装在那个repo上。

例如,我选择了一个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
投票

可能的发行版保护路径是将此添加到你的.bashrc或.zshrc,不管你的shell是什么。

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

如果你已经在用户范围内安装了gems,则使用.zshrc。

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:确保你在实际工作空间的路径上,例如,workspaceblog $。第2步:输入命令:gem install bundler.第3步:现在你应该可以进行bundle安装或bundle更新了。


1
投票

在我的Arch Linux安装中,gems被安装到了 ~/.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
投票

我认为bundle的可执行文件在.NET上

/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

0
投票

我也遇到了同样的问题,通过执行

rbenv rehash

之后 bundle 和预期的一样。在查看rbenv wiki条目时,它确实提到当安装的 gem 提供命令时,应该运行 rehash。

安装rbenv已知的所有Ruby可执行文件的垫片(即~.rbenvversions)。). 在你安装了一个新版本的Ruby之后,或者安装了一个提供命令的gem之后,运行这个命令。

很显然,这是一个很烦人的问题,所以有些人写了一个 gem 来确保你永远不需要运行 rehash 再次。rbenv-gem-rehash


0
投票

我得到了这个错误 rbenv: bundle: command not found 克隆一个旧的rails项目后,我已经建立了一对夫妇在几个月前.这里是我如何去做它:要安装一个特定版本的bundler或只是运行下面的命令来安装最新的可用的bundler。

运行以下命令来安装最新的可用捆绑程序: gem install bundler

然后我用这个命令安装了我想要的bundler的确切版本。

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

[查看这篇文章了解更多细节](https:/www.aloucaslabs.comminipostsrbenv-bundle-command-not-found#:~:text=When%20you%20get%20rbenv,to%20install%20the%20Bundler%20gem。查看此文了解更多详情

发出这个命令,让监听工作起来。

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

© www.soinside.com 2019 - 2024. All rights reserved.