无法使用捆绑包安装 gem

Bec*_*cks 5 ruby bundler gemfile gemfile.lock jenkins-pipeline

我正在从 Jenkins 管道内的 docker 文件旋转一个 docker 容器(alpine base)。容器安装: ruby-rake and ruby-bundler 并且我能够毫无问题地进行捆绑

我在此 jenkins 管道中的工作目录有 Gemfile 和 Gemfile.lock 我尝试在此工作目录中运行捆绑安装

当我尝试时:

bundle install #running as a shell command in jenkins 
Run Code Online (Sandbox Code Playgroud)

我得到:

`/` is not writable.
Bundler will use `/tmp/bundler/home/unknown' as your home directory temporarily.
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.

Resolving dependencies.............
Fetching rake 10.3.2

Retrying download gem from https://rubygems.org/ due to error (2/4): Errno::ENOENT No such file or directory @ rb_sysopen - /.gem/ruby/2.4.0/cache/rake-10.3.2.gem
Retrying download gem from https://rubygems.org/ due to error (3/4): Errno::ENOENT No such file or directory @ rb_sysopen - /.gem/ruby/2.4.0/cache/rake-10.3.2.gem
Retrying download gem from https://rubygems.org/ due to error (4/4): Errno::ENOENT No such file or directory @ rb_sysopen - /.gem/ruby/2.4.0/cache/rake-10.3.2.gem
Errno::ENOENT: No such file or directory @ rb_sysopen -
/.gem/ruby/2.4.0/cache/rake-10.3.2.gem
An error occurred while installing rake (10.3.2), and Bundler cannot continue.
Make sure that `gem install rake -v '10.3.2'` succeeds before bundling.

In Gemfile:
  aws_account_utils was resolved to 0.1.4, which depends on
  rake
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能安装 Gemfile 和 Gemfile.lock 的 Ruby gem?

Jos*_*Cho 1

您似乎无权访问根目录,因此捆绑程序正在使用另一个目录。

接下来发生的事情是您的用户无权访问正确的 gem 目录,因为它不存在!尝试运行bundle config path NEW_PATH_HERE以设置您的用户可以访问的正确目录。

或者,您可以使用以下命令指定新路径:bundle install --path /some/path