-
Notifications
You must be signed in to change notification settings - Fork 25.2k
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
build: rely on engines to prevent using npm for dependency install #41477
Conversation
Rather than relying on a preinstall script, set `engine-strict` to `true` in a project `.npmrc` file, relying on the `engines` having `npm` set to note that yarn should be used instead. --- Output from `npm install` changes from: ``` $ npm install > angular-srcs@12.0.0-next.7 preinstall /usr/local/account/js/angular > node tools/yarn/check-yarn.js /usr/local/account/js/angular/tools/yarn/check-yarn.js:12 throw new Error( ^ Error: Please use Yarn instead of NPM to install dependencies. See: https://yarnpkg.com/lang/en/docs/install/ at Object.<anonymous> (/usr/local/account/js/angular/tools/yarn/check-yarn.js:12:9) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! angular-srcs@12.0.0-next.7 preinstall: `node tools/yarn/check-yarn.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the angular-srcs@12.0.0-next.7 preinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /usr/local/account/.npm/_logs/2021-04-06T22_54_02_292Z-debug.log ``` to ``` $ npm install npm ERR! code ENOTSUP npm ERR! notsup Unsupported engine for angular-srcs@12.0.0-next.7: wanted: {"node":">=10.19.0 <13.0.0","yarn":">=1.22.4 <2","npm":"Plesae use yarn instead of NPM to install dependencies"} (current: {"node":"10.20.1","npm":"6.14.4"}) npm ERR! notsup Not compatible with your version of node/npm: angular-srcs@12.0.0-next.7 npm ERR! notsup Not compatible with your version of node/npm: angular-srcs@12.0.0-next.7 npm ERR! notsup Required: {"node":">=10.19.0 <13.0.0","yarn":">=1.22.4 <2","npm":"Plesae use yarn instead of NPM to install dependencies"} npm ERR! notsup Actual: {"npm":"6.14.4","node":"10.20.1"} npm ERR! A complete log of this run can be found in: npm ERR! /usr/local/account/.npm/_logs/2021-04-06T22_53_23_912Z-debug.log ```
227b98b
to
985d0d9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently we need an .npmrc
file in each directory that is a project root (i.e. has a package.json
file). Parent directories are not checked for .npmrc
files. So, we need the same .npmrc
in aio/
and aio/tools/examples/shared/
.
Other than that lgtm 👍
3fbe2ce
to
65d9401
Compare
65d9401
to
c64cc17
Compare
…41477) Rather than relying on a preinstall script, set `engine-strict` to `true` in a project `.npmrc` file, relying on the `engines` having `npm` set to note that yarn should be used instead. --- Output from `npm install` changes from: ``` $ npm install > angular-srcs@12.0.0-next.7 preinstall /usr/local/account/js/angular > node tools/yarn/check-yarn.js /usr/local/account/js/angular/tools/yarn/check-yarn.js:12 throw new Error( ^ Error: Please use Yarn instead of NPM to install dependencies. See: https://yarnpkg.com/lang/en/docs/install/ at Object.<anonymous> (/usr/local/account/js/angular/tools/yarn/check-yarn.js:12:9) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! angular-srcs@12.0.0-next.7 preinstall: `node tools/yarn/check-yarn.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the angular-srcs@12.0.0-next.7 preinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /usr/local/account/.npm/_logs/2021-04-06T22_54_02_292Z-debug.log ``` to ``` $ npm install npm ERR! code ENOTSUP npm ERR! notsup Unsupported engine for angular-srcs@12.0.0-next.7: wanted: {"node":">=10.19.0 <13.0.0","yarn":">=1.22.4 <2","npm":"Plesae use yarn instead of NPM to install dependencies"} (current: {"node":"10.20.1","npm":"6.14.4"}) npm ERR! notsup Not compatible with your version of node/npm: angular-srcs@12.0.0-next.7 npm ERR! notsup Not compatible with your version of node/npm: angular-srcs@12.0.0-next.7 npm ERR! notsup Required: {"node":">=10.19.0 <13.0.0","yarn":">=1.22.4 <2","npm":"Plesae use yarn instead of NPM to install dependencies"} npm ERR! notsup Actual: {"npm":"6.14.4","node":"10.20.1"} npm ERR! A complete log of this run can be found in: npm ERR! /usr/local/account/.npm/_logs/2021-04-06T22_53_23_912Z-debug.log ``` PR Close #41477
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Rather than relying on a preinstall script, set
engine-strict
totrue
in aproject
.npmrc
file, relying on theengines
havingnpm
set to note thatyarn should be used instead.
Output from
npm install
changes from:to