Alm*_*ron 27 rubygems ruby-on-rails
我在这里遇到麻烦.我正在使用Rails 2.3项目(通过ssh在生产服务器上工作 - 不要问为什么).这是Gemfile.当delayed_jobs尝试启动时,输出显示我需要安装bundler gem.问题是gemdir是/var/lib/gems/1.8/,我没有该目录的写权限.但是在我可以写的〜/ projects/shared/gems/ruby/1.8/gems下有一个目录.
如何定义gem的安装路径?
Ole*_*yev 30
要将foo gem 安装到指定的文件夹,只需使用--install-dir
选项,即
$ gem install --install-dir /path/to/gems/folder foo
Run Code Online (Sandbox Code Playgroud)
它有助于:
bundle install
- 例如,如果一个人想要安装bundle gem本身,或者想要将gem(未在Gemfile中列出)安装到bundle文件夹中sudo gem install
由于缺少默认安装路径的写入权限,命令失败希望有所帮助.
IKA*_*IKA 14
环境变量GEM_HOME
定义gem安装位置.您需要将其设置为所需的位置.该命令特定于操作系统.
在Windows中它是 set
set GEM_HOME=[path]/projects/shared/gems/ruby/1.8/gems
Run Code Online (Sandbox Code Playgroud)
Linux会是 export
export GEM_HOME=~/projects/shared/gems/ruby/1.8/gems
Run Code Online (Sandbox Code Playgroud)
dpa*_*luy 13
您可以将以下内容添加到config.ru文件中:
ENV['GEM_HOME']="#{ENV['HOME']}/projects/shared/gems/ruby/1.8/gems"
ENV['GEM_PATH']="#{ENV['GEM_HOME']}:/var/lib/ruby/gems/1.8"
require 'rubygems'
Gem.clear_paths
Run Code Online (Sandbox Code Playgroud)
这将告诉您的机架应用程序在哪里寻找宝石.
还要配置服务器.bashrc:
export GEM_HOME="$HOME/projects/shared/gems/ruby/1.8/gems"
export GEM_PATH="$GEM_HOME:/var/lib/ruby/gems/1.8"
Run Code Online (Sandbox Code Playgroud)
bundler 接受一个 --path 选项。
bundle install --path vendor/bundle
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
48975 次 |
最近记录: |