dbr*_*dbr 18 ruby installation rubygems
默认情况下,当您sudo gem install thegemname将可执行文件安装到/usr/bin/
有没有办法改变这个?例如,要将它们安装到/usr/local/rubygems/bin(或任何其他路径)?
该路径似乎没有硬编码到gemspec文件中,所以我不明白为什么这不可能(尽管我对Ruby/Gems的经验很少)
Bry*_*anH 20
我正在添加这个作为答案,以便当我再次遇到这个问题时很明显:)
首先,将所有垃圾箱/var/lib/gems/1.8/bin/移至/usr/bin/.如果不这样做,那么卸载或更新gem不会从原始bin目录中删除二进制文件.
您可能还希望删除旧路径 $PATH
接下来,编辑~/.gemrc并添加(或更新)以下行:
gem: --bindir /usr/bin
Run Code Online (Sandbox Code Playgroud)
这会覆盖gem,因此它总是使用/ usr/bin /作为bin目录.
无需更新路径(特别是多用户机器的杂乱).
csl*_*csl 14
请参阅http://www.rubygems.org/read/chapter/11并指定~/.gemrc定义gemhome变量的定义.
例如:
gemhome: /usr/local/rubygems
Run Code Online (Sandbox Code Playgroud)
您也可以将此文件放入 /etc/gemrc
或者,您可以设置GEM_HOMEenv变量:
$ export GEM_HOME=/tmp/gemtest
$ gem install bundler
$ ls /tmp/gemtest/bin/
bundle
Run Code Online (Sandbox Code Playgroud)
更新(10年后):
安德烈罗迪奥诺夫建议使用
gem: --bindir /usr/bin
Run Code Online (Sandbox Code Playgroud)