적시에 is-promise 2.2.0 손상에 휘말린 이야기
5262 단어 npmpackage.jsonNode.js
yo
가 인스톨 할 수 없다·동작하지 않는다고 하는 수수께끼의 현상에 휩쓸렸다. 실은 자신의 환경이 나쁜 것이 아니라, 시기 적절하게 yo
가 의존하는 단 1행의 함수를 제공한다 is-promise
가 망가진 직후에 인스톨 한 것이 원인이라고 알았다.다른 모듈에서는 Node.js의 버전이 오르고 움직이지 않게 되는 케이스에서는 대응이 늦어지는 일이 있었으므로, 이번은 곧 처치되어 럭키였다. (모르는 것만으로 일상적으로 일어나고 있을지도 모르지만)
일어난 현상
yo
를 설치하면 제대로 작동하는지 확인하는 Yeoman Doctor가 실행됩니다. 여기서 yo --version
에서 오류가 발생했습니다. 이 후 yo
를 실행해도, 같은 에러로 기동조차 하지 않는 상황이 되었다.
> [email protected] postinstall K:\nodejs\npm_global\node_modules\yo
> yodoctor
Yeoman Doctor
Running sanity checks on your system
√ No .bowerrc file in home directory
√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ No .yo-rc.json file in home directory
√ Node.js version
Error: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "yo "--version""
internal/modules/cjs/loader.js:584
if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e;
^
Error [ERR_INVALID_PACKAGE_TARGET]: Invalid "exports" main target "index.js" defined in the package config /K:/nodejs/npm_global/node_modules/yo/node_modules/is-promise\package.json
at resolveExportsTarget (internal/modules/cjs/loader.js:542:13)
at resolveExportsTarget (internal/modules/cjs/loader.js:581:20)
at applyExports (internal/modules/cjs/loader.js:455:14)
at resolveExports (internal/modules/cjs/loader.js:508:23)
at Function.Module._findPath (internal/modules/cjs/loader.js:632:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1001:27)
at Function.Module._load (internal/modules/cjs/loader.js:884:27)
at Module.require (internal/modules/cjs/loader.js:1074:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (K:\nodejs\npm_global\node_modules\yo\node_modules\run-async\index.js:3:17) {
code: 'ERR_INVALID_PACKAGE_TARGET'
}
오류의 원인
오류 메시지에서 알 수 있듯이 run-async
가 사용하는 is-promise
에서 ERR_INVALID_PACKAGE_TARGET
npm is-promise 페이지 을 보면 다음과 같이 빌드 오류가 발생했다고 표시됩니다. 30분 정도 전에 Publish된 버전에서 무슨 일이 있었는지...
is-promise
의 GitHub에는 Issue가 이미 게시되었으며 동일한 오류가 발생했음을 알 수 있습니다. (여기서 처음으로, 자신의 환경이 문제가 아닐지도…라고 알았다)
원인은. 이렇게). 이번 버전에서 추가된 기능이 나쁨을 버린 모양.
Package.json incorrectly formatted #12
그 후 에서 수정이 있었고 풀 요청이 발행되었습니다.
[BUGFIX] Use correct paths for CJS and ESM compatibility #15
우선, 조금 기다리면 반영될지도 모르기 때문에 기다려 본다. Weekly download 1000만을 넘는 스테디셀러 모듈이 약간의 실수로 다양한 모듈에 영향을 주는 것은…
잠정 대책
우선 문제가 일어나고 있는 것은 yo
의 글로벌 인스톨이 사용하고 있다 run-async
그래서, yo
의 node_modules 이하의 run-async
의 package.json
0으로 고정한다. is-promise
를 변경한 후 package.json
폴더에서 run-async
를 실행하고 npm install
의 2.1.0을 설치합니다.
package.json "dependencies": {
"is-promise": "2.1.0" ← 元々は "^2.1.0" だった
},
이 처리 후에, is-promise
를 실행하면 움직이게 되었다.
>yo
? 'Allo! What would you like to do? (Use arrow keys)
Run a generator
> Code
──────────────
Update your generators
Install a generator
Find some help
Get me out of here!
(Move up and down to reveal more choices)
그 후
2.2.0에서 3시간 후에 2.2.2가 출시되었다. 다시 한 번 yo
시도해 보면 성공적으로 설치할 수있었습니다. 빨리 대응해 주셔서 좋았습니다 ...
Yeoman Doctor
Running sanity checks on your system
√ No .bowerrc file in home directory
√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ No .yo-rc.json file in home directory
√ Node.js version
√ npm version
√ yo version
Everything looks all right!
Reference
이 문제에 관하여(적시에 is-promise 2.2.0 손상에 휘말린 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/stm32p103/items/7b1e00d6d840bb20e1ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
> [email protected] postinstall K:\nodejs\npm_global\node_modules\yo
> yodoctor
Yeoman Doctor
Running sanity checks on your system
√ No .bowerrc file in home directory
√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ No .yo-rc.json file in home directory
√ Node.js version
Error: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "yo "--version""
internal/modules/cjs/loader.js:584
if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e;
^
Error [ERR_INVALID_PACKAGE_TARGET]: Invalid "exports" main target "index.js" defined in the package config /K:/nodejs/npm_global/node_modules/yo/node_modules/is-promise\package.json
at resolveExportsTarget (internal/modules/cjs/loader.js:542:13)
at resolveExportsTarget (internal/modules/cjs/loader.js:581:20)
at applyExports (internal/modules/cjs/loader.js:455:14)
at resolveExports (internal/modules/cjs/loader.js:508:23)
at Function.Module._findPath (internal/modules/cjs/loader.js:632:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1001:27)
at Function.Module._load (internal/modules/cjs/loader.js:884:27)
at Module.require (internal/modules/cjs/loader.js:1074:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (K:\nodejs\npm_global\node_modules\yo\node_modules\run-async\index.js:3:17) {
code: 'ERR_INVALID_PACKAGE_TARGET'
}
오류 메시지에서 알 수 있듯이
run-async
가 사용하는 is-promise
에서 ERR_INVALID_PACKAGE_TARGET
npm is-promise 페이지 을 보면 다음과 같이 빌드 오류가 발생했다고 표시됩니다. 30분 정도 전에 Publish된 버전에서 무슨 일이 있었는지...is-promise
의 GitHub에는 Issue가 이미 게시되었으며 동일한 오류가 발생했음을 알 수 있습니다. (여기서 처음으로, 자신의 환경이 문제가 아닐지도…라고 알았다)원인은. 이렇게). 이번 버전에서 추가된 기능이 나쁨을 버린 모양.
Package.json incorrectly formatted #12
그 후 에서 수정이 있었고 풀 요청이 발행되었습니다.
[BUGFIX] Use correct paths for CJS and ESM compatibility #15
우선, 조금 기다리면 반영될지도 모르기 때문에 기다려 본다. Weekly download 1000만을 넘는 스테디셀러 모듈이 약간의 실수로 다양한 모듈에 영향을 주는 것은…
잠정 대책
우선 문제가 일어나고 있는 것은 yo
의 글로벌 인스톨이 사용하고 있다 run-async
그래서, yo
의 node_modules 이하의 run-async
의 package.json
0으로 고정한다. is-promise
를 변경한 후 package.json
폴더에서 run-async
를 실행하고 npm install
의 2.1.0을 설치합니다.
package.json "dependencies": {
"is-promise": "2.1.0" ← 元々は "^2.1.0" だった
},
이 처리 후에, is-promise
를 실행하면 움직이게 되었다.
>yo
? 'Allo! What would you like to do? (Use arrow keys)
Run a generator
> Code
──────────────
Update your generators
Install a generator
Find some help
Get me out of here!
(Move up and down to reveal more choices)
그 후
2.2.0에서 3시간 후에 2.2.2가 출시되었다. 다시 한 번 yo
시도해 보면 성공적으로 설치할 수있었습니다. 빨리 대응해 주셔서 좋았습니다 ...
Yeoman Doctor
Running sanity checks on your system
√ No .bowerrc file in home directory
√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ No .yo-rc.json file in home directory
√ Node.js version
√ npm version
√ yo version
Everything looks all right!
Reference
이 문제에 관하여(적시에 is-promise 2.2.0 손상에 휘말린 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/stm32p103/items/7b1e00d6d840bb20e1ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
"dependencies": {
"is-promise": "2.1.0" ← 元々は "^2.1.0" だった
},
>yo
? 'Allo! What would you like to do? (Use arrow keys)
Run a generator
> Code
──────────────
Update your generators
Install a generator
Find some help
Get me out of here!
(Move up and down to reveal more choices)
2.2.0에서 3시간 후에 2.2.2가 출시되었다. 다시 한 번
yo
시도해 보면 성공적으로 설치할 수있었습니다. 빨리 대응해 주셔서 좋았습니다 ...Yeoman Doctor
Running sanity checks on your system
√ No .bowerrc file in home directory
√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ No .yo-rc.json file in home directory
√ Node.js version
√ npm version
√ yo version
Everything looks all right!
Reference
이 문제에 관하여(적시에 is-promise 2.2.0 손상에 휘말린 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/stm32p103/items/7b1e00d6d840bb20e1ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)