未找到命令

我托管在一个 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)”已经安装。

我不知道出了什么问题。

返回:

 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/

返回:

/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

返回:

/usr/bin/gem

返回:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/
310259 次浏览

我认为 bundle 可执行文件已经开启:

它不在你的 $PATH

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

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

您还可以创建一个符号链接:

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

我正在运行 ubuntu 11.10,bundle 可执行文件位于:

/var/lib/gems/1.8/bin

... 也适用于 Debian GNU/Linux 6.0:)

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

我这样做了(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

我的问题是,我做到了:

sudo gem install bundler

所以我安装的是 root 而不是我自己,所以我卸载为 root,然后安装为我自己:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(如果使用 rbenv,则使用最后一个命令)

.bashrc中的“正确”路径 曾经是(或其他 shell 配置文件) ,至少根据

$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

在安装不同的红宝石时,请确保执行 rbenv rehash

我的解决方案是确保我选择了 Ruby 的一个版本进行回购。

例如: chruby 2.2.2rvm 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/.........

我也有同样的问题,所以我能够通过逃跑来解决它

rbenv rehash

在那之后,bundle就像预期的那样工作了。在查看 rbenv wiki 条目时,它提到当已安装的 gem 提供命令时应该运行 rehash。

为 rbenv 已知的所有 Ruby 可执行文件安装 shims (即, ~/. rbenv/version//垃圾桶/) 或者安装一个提供命令的 gem。

显然,这是如此令人烦恼,以至于有些人编写了一个 gem 来确保您永远不需要再次运行 rehashRbenv-gem-rehash

步骤1: 确保你在实际的工作区路径上,例如,workspace/blog $: 步骤2: 输入命令: gem install bundler。 步骤3: 现在您应该已经设置好捆绑安装或捆绑更新了

可能发行版本防护的路径是将这个代码添加到.bashrc 或.zhrc,不管您的 shell 是什么:

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

或者如果已经在用户范围内安装了 gems,请使用:

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

在我的 Arch Linux 安装中,如果作为用户安装,gems 被安装到 ~/.gem/ruby/2.6.0/bin目录,如果通过 sudo安装,则安装到 /root/.gem/ruby/2.6.0/bin。只要在你的 ABc3环境变量上加上适当的一个:

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

对于 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

在克隆了几个月前构建的一个旧 Railsproject 之后,我得到了这个错误 rbenv: bundle: command not found。 我是这么做的: 要安装特定版本的 bundle,或者只需运行以下命令来安装最新的可用 bundle:

运行 gem install bundler

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

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

更多细节请查看这篇文章。(文本 = 当% 20you% 20get% 20the% 20rbenv,to% 20install% 20the% 20Bundler% 20gem”rel = “ nofollow noReferrer”> https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=when%20you%20get%20the%20rbenv,to%20install%20the%20bundler%20gem 查看这篇文章了解更多细节

通过发出这个命令来获得监听工作

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