-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[turborepo] v1.7.0
throws "Failed to find package "turbo-linux-64" on the file system" in CircleCI pipeline
#3328
Comments
Seeing this on an m1 mac too. |
Workaround for me was to make sure the package installs both architectures in the lockfile, so that
Further details https://sharp.pixelplumbing.com/install#cross-platform This should be much better documented because it's a very common problem when using different architectures for dev and CI. |
The better documentation is helpful, but this keeps coming up every time the package gets updated and we need to re-patch the package-lock again with both platform/arch's. Is there any way to tell the package to install multiple pre-build binaries consistently? |
|
I am facing the same issue as mentioned. In our case we have to use "--no-optional" flag because of some issues we have with another library and Turbo isn't running in our CI environment, so I am in a dead end here. I've just migrated from NX to Turbo because it was cleaner, but this became a real mess for us The behavior in our CI linux64 based vms is different from in my machine: In my machine (Macbook darwin64):
I expected this same behavior would happen on our linux64 machines, but it failed with the mentioned message "Failed to find package turbo-linux-64...". Why does it work on Mac, but not on Linux64? Do you think this is a bug? |
@flaviostutz The alternate platforms are optional deps, so remove that flag if you can. You might be able to work around it by configuring .yarnrc as mentioned above: # .yarnrc.yml
supportedArchitectures:
os:
- darwin
- linux
arch:
- arm64
- x64 It's not really clear to me how this isn't more of an issue. Is yarn the preferred tool? Is the expectation that everyone will set up supportArchitectures like that? The turbo repo GitHub action itself seems to bypass the issue by globally installing |
Yes, the thing is that I cannot use ignore optional and I am using Yarn 1, which doesn't have these configurations :/ |
Hey guys I've find a way to work with this, because your machine is M1 probably (it was for me in this case), package-lock generated on your pc is different then the source machine. So to get around with that you can use command below so it will not depend on package-lock but install clean so it will use the build machine specs.
Hope it helps 👍 |
@Ketcap unfortunately installing without package-lock in CI makes your builds slower and non-deterministic because the subdependencies of your packages will be re-resolved for each install. This presents a security issue as well because you don't have visibility into what packages are actually installing each time. |
You are right! But right now this is the only way to bypass this issue if it's required. I have the same issue unfortunately and this is the only way of making it work. In my case my project is side-project so I don't care that much. |
The root cause is likely this: npm/cli#4828 If you regenerate your lockfile after removing the existing |
I'm going to go ahead and lock this; if you are still encountering problems, please open a new issue! We'll be happy to look again. |
What version of Turborepo are you using?
1.7.0
What package manager are you using / does the bug impact?
npm
What operating system are you using?
Linux
Describe the Bug
After updating to version
1.7.0
, our CircleCI pipelines have started failing due to the following error:Expected Behavior
The pipeline should have continued working as usual.
To Reproduce
Below you can find the full logs for the
npm ci
command:Reproduction Repo
No response
The text was updated successfully, but these errors were encountered: