yarn
, JavaScript의 패키지 관리자가 제공하는 run
명령을 사용하는 데 문제가 있습니다.package.json의 scripts 객체에서 "yarn run"을 실행하는 데 문제가 있습니다.
현재 내 파일에는 다음과 같은 내용이 있습니다. 내 scripts
개체입니다.
"scripts": {
"lint": "./node_modules/.bin/eslint --ignore-pattern dist ."
}
다음 명령을 실행하면 예상대로 작동합니다 (npm run lint
). 그러나 yarn
에서 yarn run lint
으로 스크립트를 실행하면 다음 오류가 발생합니다.
Petesta :: λ -> ~/Git/yarn yarn run lint
yarn run v0.15.1
$ "./node_modules/.bin/eslint --ignore-pattern dist ."
sh: ./node_modules/.bin/eslint --ignore-pattern dist .: No such file or directory
error Command failed with exit code 127.
info Visit http://yarnpkg.com/en/docs/cli/run for documentation about this command.
./node_modules/.bin
디렉토리 내 $PATH
에 있고 나는 당신이 date
또는 pwd
같은 실행 파일이있는 경우 예상대로 다음 yarn run some_script_on_date
가 작동 할 것이라고 통보했다.
이 작업을 수행하는 한 가지 방법은 실행하려는 명령이 포함 된 별도의 셸 파일을 만드는 것입니다. 그것을 ./scripts/lint.sh
라고 부르 자.
#!/bin/bash
./node_modules/.bin/eslint --ignore-pattern dist .
그리고 다음 줄을 추가하려면
scripts
객체 파일 이제
chmod +x ./scripts/lint.sh
에서이 명령을 실행합니다.
"new_lint": "./scripts/lint.sh"
이제 yarn run new_lint
은 예상대로 실행됩니다.
뭔가 누락되었거나 yarn
의 스크립트를 호출해야하는 이유는 무엇입니까? npm
과 같은 명령을 실행하고 싶습니다.
내가 eslint''와 그것을 시도하고 그런 식으로 작동하지 않았다. 명령을 찾을 수 없습니다. 'npm run '에서는 작동하지만'yarn run'에서는 작동하지 않습니다. – Petesta
사실 언젠가는 패키지가'yarnpkg'라고 불리우며 최근에'yarn'으로 사용 중지되었습니다. 이 deprecation 전에'yarnpkg run command'가 예상대로 작동했습니다. 이제 새로운 패키지로는 작동하지 않습니다. – Petesta
아, 오해했습니다. 그냥 출시를 기다려야합니다. – Petesta