【发布时间】: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
【问题讨论】: