我需要安装ruby ,无法访问互联网。正如ruby-build
文档建议我可以通过指定环境变量RUBY_BUILD_MIRROR_URL
来更改镜像URL。我做了这个,虽然它看了我的本地仓库ruby,它仍然试图连接到在线仓库安装yaml
。
env RUBY_BUILD_MIRROR_URL=http://10.10.161.39/platforms/common/ruby-2.0.0-p247.tar.gz#3e71042872c77726409460e8647a2f304083a15ae0defe90d8000a69917e20d3 /opt/rbenv/bin/rbenv install 2.0.0-p247
Downloading yaml-0.1.6.tar.gz...
-> http://10.152.161.39/platforms/proteus/common/ruby-2.0.0-p247.tar.gz#3e71042872c77726409460e8647a2f304083a15ae0defe90d8000a69917e20d3/7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749
-> http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz
error: failed to download yaml-0.1.6.tar.gz
BUILD FAILED (RedHatEnterpriseServer 5.10 using ruby-build 20150928)
我尝试将yaml-0.1.6.tar.gz
文件放在我的本地仓库中,但这没有任何区别,因为URL中提供的sha2
校验和用于ruby-2.0.0-p247.tar.gz
文件,因此会失败。
如何使用rbenv
离线安装ruby?
更新1
我发现您可以修改查找配置文件以指向本地镜像。即:/opt/rbenv/plugins/ruby-build/share/ruby-build/2.0.0-p247
install_package "yaml-0.1.6" "http://10.10.161.39/platforms/common/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml
install_package "openssl-1.0.1p" "ttp://10.10.161.39/platforms/common/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
install_package "ruby-2.0.0-p247" "http://10.10.161.39/platforms/common/ruby-2.0.0-p247.tar.gz#3e71042872c77726409460e8647a2f304083a15ae0defe90d8000a69917e20d3"
有更好的方法还是这是最好的前进方式?
答案 0 :(得分:1)
所以我的工作方式如下:
更新install_package "yaml-0.1.6" "http://10.10.161.39/platforms/common/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml
中下载文件的内容以指向您的本地仓库。
您还会注意到每个文件在'#'之后的长哈希值。 URL中的符号。例如:
sha256sum
此哈希值是rbenv
文件sha256sum <filename>
将用于验证它是否是预期文件。
因此,您需要运行install_package "yaml-0.1.6" "http://10.10.161.39/platforms/common/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml
install_package "openssl-1.0.1p" "ttp://10.10.161.39/platforms/common/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
install_package "ruby-2.0.0-p247" "http://10.10.161.39/platforms/common/ruby-2.0.0-p247.tar.gz#3e71042872c77726409460e8647a2f304083a15ae0defe90d8000a69917e20d3"
并附加到URL路径中的每个文件来生成值。
完整示例如下:
http://10.10.161.39/platforms/common
在上面的示例中,我们在window.video['play'] = OK
window.video.play = OK
obj[p[i]] = not OK <= something like this I'd like to use
处有一个专用的存储库服务器。如果您的软件包在本地可用,则需要指向本地路径并验证其是否有效。