我需要运行一堆ruby脚本,这些脚本是我在没有sudo访问权限的服务器上编写的。
在我自己的机器上,我使用'sudo gem install ..'安装了一堆宝石,并在我的代码中使用它们。
是否有任何机制可以让我使用这些宝石,而无需将它们正式安装到远程机?使用gem而不安装它
7
A
回答
3
您可以在用户目录安装: http://docs.rubygems.org/read/chapter/3#page83
这看起来像它可以让你安装宝石你想要的任何地方。
6
你可以,但它很棘手。
首先,使用--install-dir
选项来安装它们,即:
gem install gem_name --install-dir /some/directory/you/can/write/to
第二,确保你有一个.gemrc
文件在你的home目录下,看起来是这样的:
gemhome: /some/directory/you/can/write/to
gempath:
- /some/directory/you/can/write/to
- /usr/local/lib/ruby/gems/1.8
gemhome
是寻找宝石时,宝石应该首先看。 gempath
是寻找宝石时应该检查的所有路径。因此,在上面的.gemrc
中,我告诉我的代码首先查看本地目录,如果找不到,请检查系统gem目录。第三,请注意,一些代码 - 即使是宝石中的代码 - 也可以假设宝石的位置。某些代码可能会以编程方式更改gempath
或gemhome
。您可能需要在自己的代码中“修改”。
这里没有很多(读:无)如何做到这一点的文件 - 弄明白的最好方法是阅读附带的RubyGems的源测试。以下是我砍的rake任务宝石路径指向我的冻结版本Capistrano的的:
Gem.use_paths(Gem.dir, ["#{RAILS_ROOT}/vendor/gems"])
Gem.refresh # picks up path changes
+0
其实我做这一切的时候(我所有的宝石安装在〜 /.gem),并且还没有遇到任何行为不端的代码,也没有发现那么困难。但是YMMV。 – rampion 2009-05-27 00:06:36
相关问题
- 1. 安装pg gem而不安装postgres macOS
- 2. 使用curl库而不安装它们
- 3. 使用pyWin32而不安装它
- 4. 使用libcurl而不安装它
- 5. 使用Async V3而不安装它
- 6. 使用Python库而不安装它们
- 7. 使用Ansible安装Bundler gem
- 8. 在Ubuntu服务器上安装ruby RMagick gem而不安装X
- 9. Heroku试图安装sqlite3 gem,即使它不在Gemfile中
- 10. 不能安装gem Gosu Ubuntu
- 11. JSON Gem不会安装(Windows)
- 12. 安装by_star gem?
- 13. Windows Gem安装
- 14. 安装mysql2 gem
- 15. Gem mysql2安装
- 16. “Gem ...已被删除,它安装在”Error。捆绑安装不会安装宝石。如何重新安装宝石?
- 17. 强制安装包使用https://而不是git://用于基于GitHub的gem
- 18. 无法安装和使用“draper”gem
- 19. 使用gem安装mysql2的错误
- 20. 使用Cygwin安装rb-gsl gem
- 21. 使用gem安装水龙头
- 22. Mac,Rails 4:使用`freetds`安装`tiny_tds` gem
- 23. 使用Vulcan在Heroku上安装raspell gem
- 24. 使用Gem安装SSL证书错误
- 25. 使用gem安装Rails时出错
- 26. 如何使用Ruby 1.9.3安装Nokogiri gem
- 27. 使用RMagick创建Gem安装错误
- 28. 如何使用Ruby v2.0安装MySQL2 gem?
- 29. 运行MySQL而不安装它
- 30. 测试IE7而不安装它 - 如何?
仅供参考,链接的网页不再起作用 – 2015-08-05 22:28:42