Skip to content
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

YN0028: │ The lockfile would have been modified by this install, which is explicitly forbidden. #11

Closed
wesleybl opened this issue Dec 20, 2022 · 0 comments

Comments

@wesleybl
Copy link
Member

I tried to run the tests of addon volto-columns-block locally with the yarn test command, but I get the error:

➤ YN0000: └ Completed in 6s 686ms
➤ YN0000: ┌ Post-resolution validation
➤ YN0028: │ The lockfile would have been modified by this install, which is explicitly forbidden.
➤ YN0000: └ Completed
➤ YN0000: Failed with errors in 6s 837ms
make: *** [Makefile:46: test] Erro 1
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

This addon uses volto-addon-ci.

I researched this problem and, from what I understood, it occurs when the node configuration:

enableImmutableInstalls

is true

and there is a change in the yarn.lock file when we run yarn: See:

https://stackoverflow.com/questions/67062308/getting-yn0028-the-lockfile-would-have-been-modified-by-this-install-which-is-e

But the probability of yarn.lock being changed is very high. For example, the addon may have a specific dependency. So I propose to force the use of enableImmutableInstalls=false by running the command:

YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn

cmoulliard added a commit to q-shift/backstage-plugins that referenced this issue Jan 18, 2024
cmoulliard added a commit to q-shift/backstage-plugins that referenced this issue Jan 22, 2024
Signed-off-by: cmoulliard <[email protected]>

Set dry run to test the github flow

Signed-off-by: cmoulliard <[email protected]>

Specify the packagemanager to be used

Signed-off-by: cmoulliard <[email protected]>

Enable corepack as it is needed to use packageManager yarn > 1.x

Signed-off-by: cmoulliard <[email protected]>

Moving corepack enable before calling setup-node. See: actions/setup-node#899

Signed-off-by: cmoulliard <[email protected]>

Removing the hack folder as non needed anymore. Creating an empty yarn.lock file to avoid error: Dependencies lock file is not found

Signed-off-by: cmoulliard <[email protected]>

Fix indentation issue

Signed-off-by: cmoulliard <[email protected]>

Remove the deprecated parameter to use --immutable

Signed-off-by: cmoulliard <[email protected]>

Removing the yarn install strep as it raises a yarn YN0028 error with lockfile

Signed-off-by: cmoulliard <[email protected]>

Trying again to install the packages before to tsc compile

Signed-off-by: cmoulliard <[email protected]>

Fix proposed by plone/volto-addon-ci#11 concerning lockfile issue

Signed-off-by: cmoulliard <[email protected]>

Deleting --immutable to try to fix issue of yarn YN0028

Signed-off-by: cmoulliard <[email protected]>

Using --no-immutable

Signed-off-by: cmoulliard <[email protected]>

Adding needed dependency as tsc fails with: TS2688: Cannot find type definition file for 'jest, node'

Signed-off-by: cmoulliard <[email protected]>

intall jest

Signed-off-by: cmoulliard <[email protected]>

Run foreach to install missing node modules

Signed-off-by: cmoulliard <[email protected]>

Let's use the backstage action instead ;-)

Signed-off-by: cmoulliard <[email protected]>

Pusing yarn.lock

Signed-off-by: cmoulliard <[email protected]>

Using same packageManager version as backstage

Signed-off-by: cmoulliard <[email protected]>

Use same action defintion as backstage

Signed-off-by: cmoulliard <[email protected]>

Updating yarn.lock file

Signed-off-by: cmoulliard <[email protected]>

Removing spaces

Signed-off-by: cmoulliard <[email protected]>

Adding .nmprc file

Signed-off-by: cmoulliard <[email protected]>

Enabling again corepack as we will use yarn package manager > 1.x

Signed-off-by: cmoulliard <[email protected]>

Let's try a build using node 18.x as 20.x fails on ci platform

Signed-off-by: cmoulliard <[email protected]>

Switch from tsc:full to tsc

Signed-off-by: cmoulliard <[email protected]>

adding to tsc --skipLibCheck false --incremental false

Signed-off-by: cmoulliard <[email protected]>

adding to tsc --skipLibCheck false --incremental false

Signed-off-by: cmoulliard <[email protected]>

Use workspaces foreach tsc

Signed-off-by: cmoulliard <[email protected]>

Removing tsc:full as it do not exist

Signed-off-by: cmoulliard <[email protected]>

Install the command supporting foreach subcommand

Signed-off-by: cmoulliard <[email protected]>

List the plugin installed

Signed-off-by: cmoulliard <[email protected]>

List the plugin installed

Signed-off-by: cmoulliard <[email protected]>

Checking what we have as executable under node_modules/.bin

Signed-off-by: cmoulliard <[email protected]>

Removing trailing ,

Signed-off-by: cmoulliard <[email protected]>

Refactor the workflow to use the action of janus-idp project

Signed-off-by: cmoulliard <[email protected]>

Push the missing .nvmrc file

Signed-off-by: cmoulliard <[email protected]>

Removing packageManager > 1.x

Signed-off-by: cmoulliard <[email protected]>

Removing yarn.lock

Signed-off-by: cmoulliard <[email protected]>

Set cache-dependency-path

Signed-off-by: cmoulliard <[email protected]>

Generating the package-lock.json

Signed-off-by: cmoulliard <[email protected]>

Split tsc and build steps

Signed-off-by: cmoulliard <[email protected]>

Removing unknow parameter

Signed-off-by: cmoulliard <[email protected]>

Removing unknow parameter

Signed-off-by: cmoulliard <[email protected]>

Use turbo commands

Signed-off-by: cmoulliard <[email protected]>

Add turbo.json config file

Signed-off-by: cmoulliard <[email protected]>

Define the needed config files able to find the generated .d.ts

Signed-off-by: cmoulliard <[email protected]>

Let's try using turbo ...

Signed-off-by: cmoulliard <[email protected]>

Remove cache parameter

Signed-off-by: cmoulliard <[email protected]>

Adding needed yarn.lock

Signed-off-by: cmoulliard <[email protected]>

Check files generated

Signed-off-by: cmoulliard <[email protected]>

Adding missing shell parameter

Signed-off-by: cmoulliard <[email protected]>

Removing non accessible folder

Signed-off-by: cmoulliard <[email protected]>

Moving step to ci.yaml file

Signed-off-by: cmoulliard <[email protected]>

Add comments and test using node 20.x too

Signed-off-by: cmoulliard <[email protected]>

Published the modules manually and updated project

Signed-off-by: cmoulliard <[email protected]>

Fix wrong file to be used to publish: dist/index.cjs.js to dist/index.esm.js for the frontend

Signed-off-by: cmoulliard <[email protected]>

Bump versions published

Signed-off-by: cmoulliard <[email protected]>

Remove non needed dependency as we dont use yarn workspaces foreach

Signed-off-by: cmoulliard <[email protected]>

Align with latest versions published

Signed-off-by: cmoulliard <[email protected]>

Removing non needed file

Signed-off-by: cmoulliard <[email protected]>

Removing non needed file

Signed-off-by: cmoulliard <[email protected]>

Adding the needed scripts used to switch from src files to dist files when we pack or publish otherwise the package.json published will point to the src files and not the compiled !

Signed-off-by: cmoulliard <[email protected]>

Ignore this file package.json-prepack

Signed-off-by: cmoulliard <[email protected]>

Passing the version of node to be used using an input parameter to the action

Signed-off-by: cmoulliard <[email protected]>
iocanel pushed a commit to q-shift/backstage-plugins that referenced this issue Jan 22, 2024
Signed-off-by: cmoulliard <[email protected]>

Set dry run to test the github flow

Signed-off-by: cmoulliard <[email protected]>

Specify the packagemanager to be used

Signed-off-by: cmoulliard <[email protected]>

Enable corepack as it is needed to use packageManager yarn > 1.x

Signed-off-by: cmoulliard <[email protected]>

Moving corepack enable before calling setup-node. See: actions/setup-node#899

Signed-off-by: cmoulliard <[email protected]>

Removing the hack folder as non needed anymore. Creating an empty yarn.lock file to avoid error: Dependencies lock file is not found

Signed-off-by: cmoulliard <[email protected]>

Fix indentation issue

Signed-off-by: cmoulliard <[email protected]>

Remove the deprecated parameter to use --immutable

Signed-off-by: cmoulliard <[email protected]>

Removing the yarn install strep as it raises a yarn YN0028 error with lockfile

Signed-off-by: cmoulliard <[email protected]>

Trying again to install the packages before to tsc compile

Signed-off-by: cmoulliard <[email protected]>

Fix proposed by plone/volto-addon-ci#11 concerning lockfile issue

Signed-off-by: cmoulliard <[email protected]>

Deleting --immutable to try to fix issue of yarn YN0028

Signed-off-by: cmoulliard <[email protected]>

Using --no-immutable

Signed-off-by: cmoulliard <[email protected]>

Adding needed dependency as tsc fails with: TS2688: Cannot find type definition file for 'jest, node'

Signed-off-by: cmoulliard <[email protected]>

intall jest

Signed-off-by: cmoulliard <[email protected]>

Run foreach to install missing node modules

Signed-off-by: cmoulliard <[email protected]>

Let's use the backstage action instead ;-)

Signed-off-by: cmoulliard <[email protected]>

Pusing yarn.lock

Signed-off-by: cmoulliard <[email protected]>

Using same packageManager version as backstage

Signed-off-by: cmoulliard <[email protected]>

Use same action defintion as backstage

Signed-off-by: cmoulliard <[email protected]>

Updating yarn.lock file

Signed-off-by: cmoulliard <[email protected]>

Removing spaces

Signed-off-by: cmoulliard <[email protected]>

Adding .nmprc file

Signed-off-by: cmoulliard <[email protected]>

Enabling again corepack as we will use yarn package manager > 1.x

Signed-off-by: cmoulliard <[email protected]>

Let's try a build using node 18.x as 20.x fails on ci platform

Signed-off-by: cmoulliard <[email protected]>

Switch from tsc:full to tsc

Signed-off-by: cmoulliard <[email protected]>

adding to tsc --skipLibCheck false --incremental false

Signed-off-by: cmoulliard <[email protected]>

adding to tsc --skipLibCheck false --incremental false

Signed-off-by: cmoulliard <[email protected]>

Use workspaces foreach tsc

Signed-off-by: cmoulliard <[email protected]>

Removing tsc:full as it do not exist

Signed-off-by: cmoulliard <[email protected]>

Install the command supporting foreach subcommand

Signed-off-by: cmoulliard <[email protected]>

List the plugin installed

Signed-off-by: cmoulliard <[email protected]>

List the plugin installed

Signed-off-by: cmoulliard <[email protected]>

Checking what we have as executable under node_modules/.bin

Signed-off-by: cmoulliard <[email protected]>

Removing trailing ,

Signed-off-by: cmoulliard <[email protected]>

Refactor the workflow to use the action of janus-idp project

Signed-off-by: cmoulliard <[email protected]>

Push the missing .nvmrc file

Signed-off-by: cmoulliard <[email protected]>

Removing packageManager > 1.x

Signed-off-by: cmoulliard <[email protected]>

Removing yarn.lock

Signed-off-by: cmoulliard <[email protected]>

Set cache-dependency-path

Signed-off-by: cmoulliard <[email protected]>

Generating the package-lock.json

Signed-off-by: cmoulliard <[email protected]>

Split tsc and build steps

Signed-off-by: cmoulliard <[email protected]>

Removing unknow parameter

Signed-off-by: cmoulliard <[email protected]>

Removing unknow parameter

Signed-off-by: cmoulliard <[email protected]>

Use turbo commands

Signed-off-by: cmoulliard <[email protected]>

Add turbo.json config file

Signed-off-by: cmoulliard <[email protected]>

Define the needed config files able to find the generated .d.ts

Signed-off-by: cmoulliard <[email protected]>

Let's try using turbo ...

Signed-off-by: cmoulliard <[email protected]>

Remove cache parameter

Signed-off-by: cmoulliard <[email protected]>

Adding needed yarn.lock

Signed-off-by: cmoulliard <[email protected]>

Check files generated

Signed-off-by: cmoulliard <[email protected]>

Adding missing shell parameter

Signed-off-by: cmoulliard <[email protected]>

Removing non accessible folder

Signed-off-by: cmoulliard <[email protected]>

Moving step to ci.yaml file

Signed-off-by: cmoulliard <[email protected]>

Add comments and test using node 20.x too

Signed-off-by: cmoulliard <[email protected]>

Published the modules manually and updated project

Signed-off-by: cmoulliard <[email protected]>

Fix wrong file to be used to publish: dist/index.cjs.js to dist/index.esm.js for the frontend

Signed-off-by: cmoulliard <[email protected]>

Bump versions published

Signed-off-by: cmoulliard <[email protected]>

Remove non needed dependency as we dont use yarn workspaces foreach

Signed-off-by: cmoulliard <[email protected]>

Align with latest versions published

Signed-off-by: cmoulliard <[email protected]>

Removing non needed file

Signed-off-by: cmoulliard <[email protected]>

Removing non needed file

Signed-off-by: cmoulliard <[email protected]>

Adding the needed scripts used to switch from src files to dist files when we pack or publish otherwise the package.json published will point to the src files and not the compiled !

Signed-off-by: cmoulliard <[email protected]>

Ignore this file package.json-prepack

Signed-off-by: cmoulliard <[email protected]>

Passing the version of node to be used using an input parameter to the action

Signed-off-by: cmoulliard <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant