加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何确保ruby gem安装在正确的位置以便由bundler执行?

发布时间:2020-12-16 20:51:25 所属栏目:百科 来源:网络整理
导读:我似乎经常遇到将宝石放在正确位置的问题(安装时不需要使用sudo.) 为了解决sudo问题,我安装了rbenv,然后用它来安装ruby 2.1.0,这样我就可以从Mac OSX系统中单独安装了一个. 然后我安装了bundler.但是当我使用Bundler从Gemfile安装gem时,我找不到它们. 在我所
我似乎经常遇到将宝石放在正确位置的问题(安装时不需要使用sudo.)

为了解决sudo问题,我安装了rbenv,然后用它来安装ruby 2.1.0,这样我就可以从Mac OSX系统中单独安装了一个.

然后我安装了bundler.但是当我使用Bundler从Gemfile安装gem时,我找不到它们.

在我所采取的所有步骤之间,例如向.bash_profile添加行等等,我有以下内容,但实际上只是想要一种清晰,直接的方式来管理宝石及其本地执行:

宝石环境:

编辑:我删除了所有内容并重置了PATH – 仍然没有修复任何东西,但你可以看到gems安装在一个目录中但是当我调用可执行文件时,找不到命令:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14
  - RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-13
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/fongster/.gem/ruby/2.0.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0

以下是当我想要跑步时会发生什么,比如霰弹枪:

bash-3.2 $霰弹枪
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:296:into_specs’:在12中找不到’shotgun'(> = 0)总宝石(Gem :: LoadError)

有人能指出我在OSX上进行ruby gem管理的简单,直接的指导,以便:

>我不需要使用sudo来安装宝石
>我可以使用bundler从Gemfile安装给定项目
>那些宝石及其可执行文件(霰弹枪,restclient,sass)可以执行
>我的本地环境基于这个在heroku中设置’just works’?
>当我需要做东西时,我不需要输入bundle exec

还有一些清晰度,我是否需要总是去一个bash shell(目前,我一直在使用exec bash来让我的shell工作).

编辑:按照以下步骤,并在捆绑时得到此响应:

Errno::EEXIST: File exists @ dir_s_mkdir - /Users/fongster/.rbenv/shims/gem
An error occurred while installing backports (3.6.3),and Bundler cannot
continue.
Make sure that `gem install backports -v '3.6.3'` succeeds before bundling.

解决方法

从一个干净的开始

除了简单的步骤stated on the Bundler home page之外,您不必执行任何操作:

>不要使用sudo捆绑…
>不要改变你的PATH
>不要触摸任何?/ .file
>复制需要在第一个应用程序文件顶部的“bundler / setup”
>在所有Bundler管理的“二进制文件”前面使用bundle exec

一切都可以使用开发人员工作站的漂亮默认值.当你想进一步运行多次Rubies并排或部署到prod或厌倦了输入bundle exec(你应该使用别名bex =’bundle exec’替换bex)你可以然后Read The Full Manual,键入bundle install – -binstubs并安装一个Rubymongers(RBEnv,RVM).

在您的具体情况

我会从头重新开始:

>卸载RBEnv(rm -rf~ / .rbenv并在grep rbenv中删除rbenv提及?/ .bashrc~ / .bash_profile~ / .zshrc / etc / profile /etc/profile.d/*)>卸载Bundler

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读