首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以从rbenv环境外部执行gem吗?

我可以从rbenv环境外部执行gem吗?
EN

Stack Overflow用户
提问于 2018-08-16 18:25:19
回答 1查看 142关注 0票数 1

我能够安装并执行一个gem,如下所示:

代码语言:javascript
复制
rbenv install 2.4.1
rbenv local 2.4.1 # enter the environment
gem install fpm
fpm --version

我也期望能够从外部环境执行gem,例如:

代码语言:javascript
复制
rbenv local --unset # leave the environment
rbenv rehash # update shims
fpm --version

但我得到的却是:

代码语言:javascript
复制
rbenv: fpm: command not found

The `fpm' command exists in these Ruby versions:
  2.4.1

我是否误解了rbenv shims的工作方式?我可以从rbenv环境外部执行gem吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 21:03:56

从您的Github问题的评论中,似乎您现在已经有了基本的想法;rbenv shims只不过是将命令绑定到特定的当前活动的Ruby版本的美化的shell脚本。

但是,没有什么能阻止您创建自己的硬编码垫片。例如,假设您希望这个全局fpm命令在任何特定的rbenv环境之外都可用。

这里有一个简单的方法:

代码语言:javascript
复制
> rbenv local 2.4.1
> ln -s `rbenv which fpm` ~/.rbenv/bin/fpm24
> rbenv local --unset
> fpm24 --version
1.10.2

这将在~/.rbenv/bin/fpm24中安装一个“填充程序”,它是指向rbenv之前安装的2.4.1 gem的硬编码指针。现在,只要路径中有~/.rbenv/bin,这个fpm24命令就可以在任何地方工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51874821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档