cst*_*ngl 55 rubygems bundler rvm
我收到以下错误,即使我目前确实安装了Bundler gem(当我运行$ gem list时出现).
ERROR: Gem bundler is not installed, run `gem install bundler` first.
Run Code Online (Sandbox Code Playgroud)
我正在使用RVM,我的$ PATH如下:
/Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd/bin:
/Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@global/bin:
/Users/cjstingl/.rvm/rubies/ruby-1.9.2-p290/bin:
/Users/cjstingl/.rvm/bin:
/Users/cjstingl/.bin:
/usr/local/sbin:
/usr/local/Cellar/php/5.3.6/bin:
/usr/local/share/python:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
这也是我的宝石环境
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.15
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.2.0]
- INSTALLATION DIRECTORY: /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd
- RUBY EXECUTABLE: /Users/cjstingl/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-11
- GEM PATHS:
- /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd
- /Users/cjstingl/.rvm/gems/ruby-1.9.2-p290@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => false
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "-n/usr/local/bin --no-ri --no-rdoc --no-user-install"
- REMOTE SOURCES:
- http://rubygems.org/
Run Code Online (Sandbox Code Playgroud)
另外:使用bundle -v命令会返回相同的错误
我试过破解RVM并重新安装,但这似乎不起作用.我很难过,任何帮助都会受到赞赏.
Rom*_*man 94
将以下内容(取自.bash_profile)添加到.bashrc中为我修复了它:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Run Code Online (Sandbox Code Playgroud)
Ric*_*her 19
我在干净安装RVM 1.10.3时遇到了同样的问题.重新安装后,我注意到已安装了bundler,并且<gemset>/bin目录正被添加到我的$ PATH中,但这些bin目录实际上并不存在.我认为这只是一个RVM错误.
作为一个快速修复,我手动将bundle
二进制文件复制到确实存在的RVM bin目录中.这似乎解决了我的问题:
$ cd ~/.rvm
$ cp gems/ruby-1.9.3-p0/gems/bundler-1.0.21/bin/bundle rubies/ruby-1.9.3-p0/bin/
Run Code Online (Sandbox Code Playgroud)
这些路径中的Ruby和Bundler版本可能会有所不同.
上面的解决方案有效,但它让我烦恼,所以我把它放到rvm家伙; 事实证明我的〜/ .gemrc文件用这一行覆盖了gem位置:
- "gem" => "-n/usr/local/bin"
Run Code Online (Sandbox Code Playgroud)
删除它固定它为我.请参阅此处获取完整主题:https://github.com/wayneeseguin/rvm/issues/1043#issuecomment-7336267
Pat*_*ith 10
我遇到了类似的问题,经过大量的试验和错误后,答案(至少对我而言)非常简单.
这绝对是一个路径问题,@ gamecreature提到路径顺序对我来说是至关重要的线索.
我不确定它是怎么发生的,但我$HOME/.rvm/bin
在PATH导出中作为第一项.
这是不必要的,因为通过获取rvm文件将此目录以正确的顺序添加到路径中.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Run Code Online (Sandbox Code Playgroud)
所以我的修复只是$HOME/.rvm/bin
从我的PATH导出中删除.
如果您有多个init文件(.bashrc,.bash_profile,.profile),请确保遵循rvm疑难解答页面上的建议:
确保rvm文件的源代码在您的配置文件(.bash_profile/.bashrc/.zshrc)中最后出现,基本上是在对PATH /函数或别名进行任何自定义之后.
但我还建议检查PATH定义的其余部分,以确保没有声明任何重复的优先级.
我有类似的问题.事实证明我没有项目特定的.rvmrc文件.我刚用它创建了它
rvm --rvmrc --create 1.9.3@my_project_name
Run Code Online (Sandbox Code Playgroud)
在我的项目目录
这解决了这个问题
小智 5
如果你到达底部并且仍然撞在墙上......
我的问题是rvm install 1.8.7
在安装后期失败但似乎已经成功(我有ruby 1.8.7并且可以创建gemsets)
但似乎$GEM_HOME
是在安装脚本中设置较晚,因为没有设置,rvm没有找到宝石的正确位置.
我跑了rvm reinstall 1.8.7
,仔细看了看错误.
让我感到惊讶的是这个帖子:https: //groups.google.com/d/topic/rubyversionmanager/aUBDxbBzZpE/discussion
您可以通过运行来检查这是否是您的问题
echo $GEM_HOME
或者gem env
检查你的rvm安装日志(见上面的链接)
你在Gem Path中看到了ruby版本和gemset名称吗?如果没有,可能是rvm安装失败了.
我不知道这是否是你问题的原因。但我也有类似的问题。原因是我的RVM环境不正确。
我有 2 个用户,其中一个正在工作,另一个则没有。工作用户使用了以下捆绑脚本。(输出来自:哪个包)
/home/rvm/.rvm/gems/ruby-1.9.3-p0/bin/bundle
使用了错误的rvm安装用户:
/home/user/.rvm/bin/bundle
其原因是 $PATH 顺序错误。.rvm/gems/ruby-.../bin 路径应放在 ./rvm/bin 路径之前。
在我的情况下,原因是我将 $PATH 变量设置为另一个用户的 rvm。我通过向用户的 RVM 添加符号链接并更改路径来解决该问题:
/home/rvm/.rvm/bin
到
/home/user/.rvm/bin
当上面的代码不适合您时,您可以在加载rvm后手动调整路径。
归档时间: |
|
查看次数: |
31474 次 |
最近记录: |