bundle:找不到命令
我在一个VPS,Ubuntu的10.04,轨道3,ruby和MySQL主机上安装正确的一些教程。 如果我运行bundle check
或bundle install
我会得到错误“-bash:bundle:command not found”。 从gem list --local
我看到'bundler( gem list --local
)'被安装。
我不知道怎么回事
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可执行文件目录添加到您的path中
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,最后一个命令)
它的工作。 “正确的”path是在.bashrc
(或其他shellconfiguration文件),至less根据
$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
…也适用于Debian GNU / Linux 6.0 🙂
export PATH=$PATH:/var/lib/gems/1.8/bin
我做到了这一点(Ubuntu最新截至2013年3月[我认为:)]):
sudo gem install bundler
信贷去雷巴克斯特 。
如果你需要gem,我这样安装Ruby(尽pipe这是长期征税):
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和软件包可执行文件位于:
/var/lib/gems/1.8/bin
我的解决scheme是确保我为该回购select了一个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/.........
第1步:确保您在path实际工作区。例如,工作区/博客$:第2步:input命令:gem install bundler。 第3步:现在您应该全部设置捆绑安装或捆绑更新
我认为软件包可执行文件在:
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin
,它不在你的$ PATH
确保在安装不同的ruby时执行rbenv rehash
你也可以创build一个符号链接:
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维基条目,它会提到当安装的gem提供命令时应该运行rehash。
为rbenv已知的所有Ruby可执行文件(即〜/ .rbenv / versions / / bin / )安装填充程序。 安装新版本的Ruby之后运行此命令,或者安装提供命令的gem。
显然这是一个烦人的做法,一些人写了一个gem,以确保你永远不需要再次运行rehash
。 rbenvgem,老调重弹
可能防干扰的path是将其添加到.bashrc或.zshrc中,无论您的shell是什么:
PATH="$(ruby -e 'print Gem.default_dir')/bin:$PATH"
或者如果您已经在用户范围内安装了您的gem,请使用:
PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"