-
Notifications
You must be signed in to change notification settings - Fork 32
[proposal] Add node and yarn installation logic to dockerfile, bump ruby to 3.3.6, bump rails to 8.0.0 #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Do we need to care about different node and yarn versions given we are just creating the application with those Dockerfiles? I think we should just hardcoded a single version of it. |
|
Sure, this also makes sense. I'll redo it later today |
a0b3d19 to
97474ac
Compare
|
Next round of changes ready for review |
|
Hey @onshi, I'm getting the following on macOS Sonoma 14.6.1. ± ./target/debug/rails-new main --js esbuild --css tailwind
[+] Building 0.7s (6/7) docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 727B 0.0s
=> [internal] load metadata for docker.io/library/ruby:3.3.4 0.5s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/4] FROM docker.io/library/ruby:3.3.4@sha256:d4233f4242ea25346f157709bb8417c615e7478468e2699c8 0.0s
=> CACHED [2/4] RUN curl -fsSL https://nodejs.org/dist/v22.6.0/node-v22.6.0-linux-x64.tar.gz 0.0s
=> ERROR [3/4] RUN npm install -g [email protected] 0.1s
[3/4] RUN npm install -g [email protected]:
0.107 rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2
0.107 Trace/breakpoint trap
Dockerfile:14Could this be an issue just on my machine? |
|
Hey @nkruk, oh boy I think rosetta error would indicate that you're using arm processor? I currently have only Intel x86 based computers so I didn't test my changes on this architecture ;/ Can you let me know if running softwareupdate --install-rosettachanges anything for you? If it doesn't I can try to rewrite our Dockerfiles to install node using different approach. Cheers! |
|
Yes @onshi, I'm running an M2 Pro and had already ran Install of Rosetta 2 finished successfullyBut same output. |
|
Hey @nkruk, I see. I rewrote node installation logic in our Dockerfiles to use Cheers! |
|
Hey @onshi: worked like a charm! Hope it gets merged soon. Thanks! |
|
@onshi it worked fine for me as well. Thanks! |
5687eed to
87b86de
Compare
|
Any holdback on release of this? ❤️ |
|
@onshi would you mind giving a tip on how I can run your fork? |
|
@rafaelfranca you the only maintainer here or? |
@NielsKSchjoedt sure, I'm assuming you've rust and cargo installed. This way you can just point cargo to install from my fork cargo install --verbose --git https://github.com/onshi/rails-new --branch issues_22binary will be installed in your cheers! |
|
update: last commit bumped default ruby to tested with ./target/debug/rails-new main --js esbuild --css tailwind docker run -it --rm -v $(pwd)/main:/rails -w /rails -p 3000:3000 -e BINDING=0.0.0.0 rails-new-3.3.6-8.0.0 /bin/bash -c "bundle install && ./bin/dev"docker run -it --rm -v $(pwd)/main:/rails -w /rails -p 3000:3000 -e BINDING=0.0.0.0 rails-new-3.3.6-8.0.0 /bin/bash
root@b9f3d4a1f2d4:/rails# ruby --version
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [x86_64-linux]
root@b9f3d4a1f2d4:/rails# rails --version
Rails 8.0.0
root@b9f3d4a1f2d4:/rails# node --version
v22.11.0
root@b9f3d4a1f2d4:/rails# yarn --version
1.22.22open http://localhost:3000 |
|
This appears to have been merged, even though this ticket is still open. When I run rails-new to create a Rails app in a devcontainer and open the devcontainer then I see vscode ➜ /workspaces/dummy2_project (main) $ npx -v So the npx, yarn and node part of things appears to be working. But that then leads to the next problem which is that |
hey @JohnSmall, do you mind posting steps to reproduce your problem? From what I understood you're talking about Here is how I tried to simulate your flow, but I can be wrong here: from plain - "non devcontainer" terminal I ran ./target/debug/rails-new main --js esbuild --css tailwind --devcontainerto generate fresh project Then in vscode I created Then I spun devcontainer terminal in vscode and ran your commands vscode ➜ /workspaces/main (main) $ npx -v
10.9.2
vscode ➜ /workspaces/main (main) $ yarn -v
1.22.22
vscode ➜ /workspaces/main (main) $ node -v
v22.13.0
vscode ➜ /workspaces/main (main) $ yarn build:css
yarn run v1.22.22
$ tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css --minify
Rebuilding...
Done in 267ms.
Done in 2.08s.
vscode ➜ /workspaces/main (main) $ ruby --version
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [x86_64-linux]after running Cheers, and let me know if I can help you further |
6f18041 to
f213640
Compare

This PR addresses issue #22
Currently our
Dockerfileimage doesn't havenodeandyarnbinaries which results in errors when using--jsor--cssswitches.This PR adds logic for downloading
node 22.7.0binary and installingyarn 1.22.22to our dockerfiles. It also bumps defaultrubyto3.3.5and defaultrailsto7.2.1How this was tested?
@rafaelfranca, @excid3 let me know what do you think, I'm open to rewritting this PR to your prefered approach
Fixes #22
Fixes #31