Dear developers,
When I try to run a bundle install with App Development on Open OnDemand (v3.1.10), I get an error.
Here’s how to reproduce this: First, get the simple repository.
$ cd ~/ondemand/dev
$ git clone https://github.com/mnakao/test-ood.git test
$ ls -A test/
.git Gemfile config.ru manifest.yml
$ cat test/Gemfile
source "https://rubygems.org"
gem "sinatra"
In the navigation bar, click “Develop” → “My Sandbox Apps” → “Details” → “bundle install”.
You will see a pop-up window like this:
The contents of the directory are as shown below, and the “vendor” directory is not found.
$ ls -A test/
.bundle .git Gemfile Gemfile.lock config.ru manifest.yml
To see the details of the error message, I added “puts line” to line 124 in “./dashboard/app/controllers/products_controller.rb”.
Open3.popen2e(*cmd) do |i, o, t|
o.each do |line|
response.stream.write line
puts line # <-- Add
end
The results are as follows:
App 342841 output: [DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path 'vendor/bundle'`, and stop using this flag
App 342841 output: `` is not a directory.
App 342841 output: Bundler will use `/tmp/bundler20241223-342940-qkr9h6342940' as your home directory temporarily.
App 342841 output: Fetching gem metadata from https://rubygems.org/....
App 342841 output: Using bundler 2.3.27
App 342841 output: Using logger 1.6.2
App 342841 output: Using ruby2_keywords 0.0.5
App 342841 output: Using rack 3.1.8
App 342841 output: Using tilt 2.4.0
App 342841 output: Using base64 0.2.0
App 342841 output: Using mustermann 3.0.3
App 342841 output: Using rack-session 2.0.0
App 342841 output: Using rack-protection 4.1.1
App 342841 output: Using sinatra 4.1.1
App 342841 output: Bundle complete! 1 Gemfile dependency, 10 gems now installed.
App 342841 output: Use `bundle info [gemname]` to see where a bundled gem is installed.
I’m concerned about the second line, “`` is not a directory.” It looks like the environment variables are not being inherited. Note that when I log in directly to the Open OnDemand server and run the command “bundle install --path=vendor/bundle” via SSH, it works fine. However, some sites may not be able to log in to the Open OnDemand server, so there is a demand to do everything via GUI.
If you have any information to help resolve this issue, please let me know.
Best,