我在一个vps上托管,ubuntu 10.04,rails 3,ruby和mysql按照一些教程正确安装。如果我运行 bundle check
或 bundle 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 gem可执行目录添加到你的路径中。
export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin
我的问题是,我做到了。
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
... 也适用于Debian GNULinux 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
我运行的是ubuntu 11.10,bundle可执行文件位于..:
/var/lib/gems/1.8/bin
我的解决方案是确保我选择了一个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/.........
可能的发行版保护路径是将此添加到你的.bashrc或.zshrc,不管你的shell是什么。
PATH="$(ruby -e 'print Gem.default_dir')/bin:$PATH"
如果你已经在用户范围内安装了gems,则使用.zshrc。
PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"
对于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
确保你做了 rbenv rehash
安装不同的红宝石时
步骤1:确保你在实际工作空间的路径上,例如,workspaceblog $。第2步:输入命令:gem install bundler.第3步:现在你应该可以进行bundle安装或bundle更新了。
在我的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
我认为bundle的可执行文件在.NET上
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin
而它不在你的$PATH中。
你也可以创建一个符号链接。
ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle
我也遇到了同样的问题,通过执行
rbenv rehash
之后 bundle
和预期的一样。在查看rbenv wiki条目时,它确实提到当安装的 gem 提供命令时,应该运行 rehash。
安装rbenv已知的所有Ruby可执行文件的垫片(即~.rbenvversions)。仓). 在你安装了一个新版本的Ruby之后,或者安装了一个提供命令的gem之后,运行这个命令。
很显然,这是一个很烦人的问题,所以有些人写了一个 gem 来确保你永远不需要运行 rehash
再次。rbenv-gem-rehash
我得到了这个错误 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