【问题标题】:How to install gems with using jruby-complete.jar如何使用 jruby-complete.jar 安装 gem
【发布时间】:2015-07-08 16:38:53
【问题描述】:

我是java新手,请帮忙!

我已将下载的 jruby-complete-1.7.21.jar 放到 /var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib 并将其转换为 tomcat6:tomcat6,因为该目录中的几乎每个文件。

当我执行gem environment

/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib# java -jar jruby-complete-1.7.21.jar -S gem environmentRubyGems Environment:
  - RUBYGEMS VERSION: 2.4.8
  - RUBY VERSION: 1.9.3 (2015-07-07 patchlevel 551) [java]
  - INSTALLATION DIRECTORY: file:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar!/META-INF/jruby.home/lib/ruby/gems/shared
  - RUBY EXECUTABLE: "java -cp :/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar org.jruby.Main"
  - EXECUTABLE DIRECTORY: file:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar!/META-INF/jruby.home/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: file:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar!/META-INF/jruby.home/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.6
  - GEM PATHS:
     - file:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar!/META-INF/jruby.home/lib/ruby/gems/shared
     - /root/.gem/jruby/1.9
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin

我看到奇怪的路径file:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar!/META-INF/jruby.home/lib/ruby/gems/shared

应该在哪里保存宝石?

当我执行 gem install 时,它会抱怨权限

root@stage:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib# java -jar jruby-complete-1.7.21.jar -S gem install faraday
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the file:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib/jruby-complete-1.7.21.jar!/META-INF/jruby.home/lib/ruby/gems/shared directory.

更新1:

如果我尝试以用户 tomcat6 身份安装 gem,我会收到另一个错误:

tomcat6@stage:/var/lib/tomcat6/webapps/activiti-explorer/WEB-INF/lib$  java -jar jruby-complete-1.7.21.jar -S gem install faraday
Fetching: multipart-post-2.0.0.gem (100%)
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory - /usr/share/tomcat6/.gem/jruby/1.9/cache/multipart-post-2.0.0.gem

【问题讨论】:

    标签: rubygems jruby


    【解决方案1】:

    作为 tomcat 用户,您可以查看文件系统上默认 gem 路径设置的内容:

    java -jar jruby-complete-1.7.21.jar -S gem env

    您可以指定系统中 gem 的安装位置: java -jar jruby-complete-1.7.21.jar -S gem install -i /path/to/location faraday

    您可以将 GEM_PATH 环境变量设置为指向该位置。

    您还可以研究使用 rvm 来管理 ruby​​ 和 jruby 版本以及使用 gemdir 的 gem 目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多