我能够安装并执行一个gem,如下所示:
rbenv install 2.4.1
rbenv local 2.4.1 # enter the environment
gem install fpm
fpm --version我也期望能够从外部环境执行gem,例如:
rbenv local --unset # leave the environment
rbenv rehash # update shims
fpm --version但我得到的却是:
rbenv: fpm: command not found
The `fpm' command exists in these Ruby versions:
2.4.1我是否误解了rbenv shims的工作方式?我可以从rbenv环境外部执行gem吗?
发布于 2018-08-16 21:03:56
从您的Github问题的评论中,似乎您现在已经有了基本的想法;rbenv shims只不过是将命令绑定到特定的当前活动的Ruby版本的美化的shell脚本。
但是,没有什么能阻止您创建自己的硬编码垫片。例如,假设您希望这个全局fpm命令在任何特定的rbenv环境之外都可用。
这里有一个简单的方法:
> 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命令就可以在任何地方工作。
https://stackoverflow.com/questions/51874821
复制相似问题