<p>npx에 ν•΄λ‹Ήν•˜λŠ” 원사?</p>

에 λ§Œλ“  2017λ…„ 07μ›” 15일  Β·  35μ½”λ©˜νŠΈ  Β·  좜처: yarnpkg/yarn

μ›μ‚¬λŠ” npx(ν˜„μž¬ npm의 핡심 λΆ€λΆ„ - https://github.com/npm/npm/pull/17685)λ₯Ό μ‚¬μš©ν•˜λ„λ‘ ꢌμž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

기본적으둜 쒅속성이 μ—†λŠ” 경우 νŒ¨ν‚€μ§€ κ΄€λ¦¬μžλ₯Ό μ‹œμž‘ν•œλ‹€λŠ” 점 μ™Έμ—λŠ” Ruby의 "bundle exec"처럼 μž‘λ™ν•©λ‹ˆλ‹€. 이것은 원사λ₯Ό ν”Όν•˜κ³  npm으둜 λ‹€μ‹œ μ „ν™˜ν•©λ‹ˆλ‹€.

이λ₯Ό μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ 원사λ₯Ό ν™œμš©ν•˜λŠ” "ypx"에 ν•΄λ‹Ήν•˜λŠ” 것을 λ§Œλ“€ κ³„νšμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

cat-feature

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@sandys -에 μ°Έμ‘° @zkat 문제 (NPM / NPM # 6053)이 μ•„λ‹Œ 문제 yarn 당신은 κ·Έλƒ₯ ν•  수 있기 λ•Œλ¬Έμ— yarn x (λ˜λŠ” yarn run x 당신이 μ›ν•˜λŠ” 경우 λͺ…μ‹œμ ) x κ°€ ./node_modules/.bin 디렉토리에 μžˆλŠ” 경우. λ”°λΌμ„œ npx 동등성에 λŒ€ν•œ κΈ΄κΈ‰ν•œ ν•„μš”μ„±μ΄ μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ°•λ ₯ν•œ ν•„μš”μ„±μ΄ μžˆλ‹€κ³  μƒκ°ν•œλ‹€λ©΄ μ™œ ν•„μš”ν•œμ§€ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 예. μ–΄λ–€ λ¬Έμ œκ°€ ν•΄κ²°λ κΉŒμš”?

λͺ¨λ“  35 λŒ“κΈ€

κ·Έλ§Œν•œ κ°€μΉ˜κ°€ 있기 λ•Œλ¬Έμ— npxλŠ” μœ μ‚¬ν•˜μ§€λ§Œ "create-" 접두사가 뢙은 νŒ¨ν‚€μ§€μ—μ„œλ§Œ μž‘λ™ν•˜λŠ” "yarn create"μ—μ„œ μ˜κ°μ„ μ–»μ—ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 여기에 μ–΄λ–€ κ³„νšμ΄ μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

예, ν˜„μž¬ yarn create (예 yarn create react-app μ‚¬μš©ν•΄ λ³΄μ‹­μ‹œμ˜€). λ―Έλž˜μ— λ‹€λ₯Έ λ™μ‚¬μ—κ²Œ κ³΅κ°œν•  μˆ˜λ„ μžˆμ§€λ§Œ 아직 λ‘œλ“œλ§΅μ—λŠ” μ—†μŠ΅λ‹ˆλ‹€.

npxλ₯Ό λΌμ΄λΈŒλŸ¬λ¦¬ν™”ν•˜λŠ” μž‘μ—…μ„ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ npx μ½”λ“œλ₯Ό 작고 npm κ΄€λ ¨ λ‚΄μž₯을 yarn에 ν•΄λ‹Ήν•˜λŠ” λͺ…λ ΉμœΌλ‘œ λ°”κΎΈλŠ” 것은 큰 μž‘μ—…μ΄ μ•„λ‹™λ‹ˆλ‹€.

npx μžμ²΄μ— 직접 μΆ”κ°€ν•˜μ§€ μ•Šκ² μŠ΅λ‹ˆλ‹€. μ™œλƒν•˜λ©΄ λΆˆκ°€μ§€λ‘ μ μ΄μ–΄μ•Ό _μ˜λ―Έν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. npxλŠ” λ‹€λ₯Έ νŒ¨ν‚€μ§€ κ΄€λ¦¬μžλ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒλ“€κ³Ό μΆ©λŒν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹œμŠ€ν…œμ— npm이 μžˆμ„ ν•„μš”λ„ μ—†μœΌλ―€λ‘œ npm rm -g npm ν•˜λ©΄ npxκ°€ μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€. λ”°λΌμ„œ μΊμ‹œ κ³΅μœ μ— λŒ€ν•΄ κ°•ν•˜κ²Œ λŠλΌμ§€ μ•ŠλŠ” ν•œ npx _is_ ypx 라고 말할 수 μžˆμŠ΅λ‹ˆλ‹€.

(재 영감: npxλŠ” 주둜 이 였랜 κΈ°λŠ₯ μš”μ²­μ—μ„œ μ˜κ°μ„ λ°›μ•˜μŠ΅λ‹ˆλ‹€: https://github.com/npm/npm/issues/6053. λŒ€λΆ€λΆ„μ˜ κΈ°λŠ₯은 _this_ ν•„μš”λ₯Ό μΆ©μ‘±ν•˜λŠ” 데 쀑점을 λ‘‘λ‹ˆλ‹€. μžλ™ μ„€μΉ˜ κΈ°λŠ₯이 _was_ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. post-yarn-create, 그리고 ν™•μ‹€νžˆ κ·Έ νŠΉμ •ν•œ 것에 λŒ€ν•œ μ‹€μ œ μΌλ°˜ν™”λœ μ†”λ£¨μ…˜μ΄ λ˜λ„λ‘ μ˜λ„λ˜μ—ˆμŠ΅λ‹ˆλ‹€ -- κ·ΈλŸ¬λ‚˜ 그것은 _훨씬 더_ ν•©λ‹ˆλ‹€)

@sandys -에 μ°Έμ‘° @zkat 문제 (NPM / NPM # 6053)이 μ•„λ‹Œ 문제 yarn 당신은 κ·Έλƒ₯ ν•  수 있기 λ•Œλ¬Έμ— yarn x (λ˜λŠ” yarn run x 당신이 μ›ν•˜λŠ” 경우 λͺ…μ‹œμ ) x κ°€ ./node_modules/.bin 디렉토리에 μžˆλŠ” 경우. λ”°λΌμ„œ npx 동등성에 λŒ€ν•œ κΈ΄κΈ‰ν•œ ν•„μš”μ„±μ΄ μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ°•λ ₯ν•œ ν•„μš”μ„±μ΄ μžˆλ‹€κ³  μƒκ°ν•œλ‹€λ©΄ μ™œ ν•„μš”ν•œμ§€ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 예. μ–΄λ–€ λ¬Έμ œκ°€ ν•΄κ²°λ κΉŒμš”?

yarn exec κ°€ bundle exec 와 λΉ„μŠ·ν•œμ§€ μ•„λŠ” μ‚¬λžŒμ΄ μžˆμŠ΅λ‹ˆκΉŒ? CLIμ—μ„œλŠ” λ³Ό 수 μžˆμ§€λ§Œ μ›Ή μ‚¬μ΄νŠΈμ˜ λ¬Έμ„œμ—μ„œλŠ” λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. λͺ…λ Ήμ€„μ—μ„œ yarn exec λ₯Ό μ‚¬μš©ν•˜λ©΄ μ„€μΉ˜λœ λ°”μ΄λ„ˆλ¦¬λ₯Ό μ‹€ν–‰ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λ―€λ‘œ @sandys 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

FWIW, npm-run 은 둜컬 node_modules λ°”μ΄λ„ˆλ¦¬λ₯Ό μ‹€ν–‰ν•  수 있게 ν•΄μ£ΌλŠ” 이전 μœ ν‹Έλ¦¬ν‹°μ΄λ©° npm 에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ˜΅μ…˜μ΄ μ—†μ§€λ§Œ npx λŠ” λ…ΈλΈŒλ‘œ 가득 μ°¨ μžˆμŠ΅λ‹ˆλ‹€.

@BYK μ‚¬μš© 사둀가 ν”„λ‘œμ νŠΈ μžμ²΄μ— deps둜 μΆ”κ°€ν•˜μ§€ μ•Šκ³  CIμ—μ„œ ypx greenkeeper-lockfile@1 λ˜λŠ” ypx danger@2 와 같이 μ‹€ν–‰ μ€‘μž…λ‹ˆλ‹€.

@SimenB CIλŠ” 일반적으둜 ν”„λ‘œμ νŠΈλ₯Ό 버전 μ œμ–΄μ— λ‹€μ‹œ μ»€λ°‹ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ ν”„λ‘œμ„ΈμŠ€μ— 쒅속성을 좔가해도 상관 μ—†μŠ΅λ‹ˆλ‹€.

@MarkBennett yarn exec λŠ” package.json μ—μ„œ 슀크립트λ₯Ό μ‹€ν–‰ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 이 κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” 것이 μ μ ˆν•˜μ§€ μ•Šλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@BYK λ‚˜λŠ” OPκ°€ μ•„λ‹ˆμ§€λ§Œ λ‚΄ 둜컬 μ»΄ν“¨ν„°μ—λŠ” νŒ¨ν‚€μ§€κ°€ μžˆμ§€λ§Œ λ‚΄ package.jsonμ—λŠ” μ—†κΈ° λ•Œλ¬Έμ— 이 κΈ°λŠ₯을 μš”μ²­ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ λ‚΄ 앱은 λ‚˜λ₯Ό μœ„ν•΄ μ‹€ν–‰λ˜μ§€λ§Œ λ‚΄ 앱을 μƒˆλ‘œ μ„€μΉ˜ν•œ μ‚¬λžŒμ—κ²ŒλŠ” μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이것은 λ‚΄κ°€ μ’‹μ•„ν•˜λŠ” ruby β€‹β€‹λ²ˆλ“€λŸ¬μ˜ bundle exec μž…λ‹ˆλ‹€. λͺ¨λ“  depκ°€ λ§€λ‹ˆνŽ˜μŠ€νŠΈμ— μ—†μœΌλ©΄ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

yarn x 에 λŒ€ν•œ λ‚˜μ˜ μ£Όμš” λΆˆλ§Œμ€ 3개의 λ‹€λ₯Έ μœ„μΉ˜(μ–€ λ‚΄λΆ€ λͺ…λ Ή, npm 슀크립트 및 μ €μž₯μ†Œ)μ—μ„œ λŒ€μƒμ„ ν•΄κ²°ν•˜λ €κ³  ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

check λΌλŠ” λ°”μ΄λ„ˆλ¦¬κ°€ μžˆλŠ” 도ꡬ가 μžˆλ‹€κ³  κ°€μ •ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. 1) yarn check λŠ” λŒ€μ‹  자체 λ‚΄λΆ€ check λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€. 2) yarn run check λŠ” μ†ŒλΉ„μžμ˜ npm을 μ‹€ν–‰ν•©λ‹ˆλ‹€. 그런 이름을 가진 μŠ€ν¬λ¦½νŠΈλ‚˜ λ‚΄ 도ꡬ일 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

npx λŠ” κ°•λ ₯ν•œ κ°œλ… 뢄리λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. yarn x λŠ” 항상 λ‚΄λΆ€ λͺ…령이고, yarn run x λŠ” 항상 슀크립트이며, npx x λŠ” 항상 λ°”μ΄λ„ˆλ¦¬μ΄λ©° ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μΆ”μΈ‘ν•˜κ³  ν¬λ§ν•©λ‹ˆλ‹€.

μš”μ§€ 같은 것

#!/usr/bin/env bash

package_name=$1
temp_dir="/tmp/ypx/$package_name/$(date +%s%N)"
mkdir -p $temp_dir
(cd $temp_dir; yarn add $package_name) && (PATH="$temp_dir/node_modules/.bin":$PATH; "$@")
rm -rf $temp_dir

@BYK 또 λ‹€λ₯Έ μ‚¬μš© μ‚¬λ‘€λŠ” 아직 λ‘œμ»¬μ— μ„€μΉ˜λ˜μ§€ μ•Šμ€ νŒ¨ν‚€μ§€μ˜ _binary_λ₯Ό μ‹€ν–‰ν•˜κ³  있으며 λ‚˜μ€‘μ— 직접 μ‚­μ œν•˜μ§€ μ•Šκ³  ν•œ 번만 μ‹€ν–‰ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. npx ν•¨μˆ˜λŠ” λ‹€μŒμ„ μˆ˜ν–‰ν•  수 있기 λ•Œλ¬Έμ— yarn x λ™μž‘μ˜ ν™•μž₯μž…λ‹ˆλ‹€.

  1. ν˜„μž¬ λ””λ ‰ν† λ¦¬μ˜ ./node_modules/.bin/ μ—μ„œ 둜컬 νŒ¨ν‚€μ§€μ˜ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€.
  2. νŒ¨ν‚€μ§€κ°€ λ‘œμ»¬μ— μ—†κ±°λ‚˜ ./node_modules/ 디렉토리가 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 경우 쒅속성과 ν•¨κ»˜ μž„μ‹œ 디렉토리에 νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³  λͺ…령을 ν˜ΈμΆœν•©λ‹ˆλ‹€.

이것은 μ‚¬μš©μžμ—κ²Œ 투λͺ…ν•˜κ²Œ μˆ˜ν–‰λ©λ‹ˆλ‹€.

ypx 가섀은 λ‹€μŒκ³Ό 같은 μ„Έ 번째 μš”μ λ„ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. νŒ¨ν‚€μ§€κ°€ λ‘œμ»¬μ— μ—†κ³  μ–€ μΊμ‹œμ— 있고 μ΅œμ‹  버전과 μΌμΉ˜ν•˜λŠ” 경우 λͺ¨λ“  νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•˜λŠ” λŒ€μ‹  μΊμ‹œλ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ…령을 ν˜ΈμΆœν•©λ‹ˆλ‹€.

@BYK μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
babel-cli μ„€μΉ˜(예: yarn add babel-cli
그런 λ‹€μŒ yarn babel-node --presets es2015 ./server.js λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. server.js λŠ” ν˜„μž¬ 디렉토리에 μžˆλŠ” 파일이고 κ°„λ‹¨ν•œ express API μ„œλ²„μž…λ‹ˆλ‹€.
그것은 λ‹¨μˆœνžˆ μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©° 파일이 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  λ§ν•©λ‹ˆλ‹€. ( Error: Cannot find module )
κ·ΈλŸ¬λ‚˜ ν•¨κ»˜ μ‚¬μš© npx μž‘λ™ npx babel-node --presets es2015 ./server.js

@BYK λ‚΄κ°€ μ•„λŠ” ν•œ npxλŠ” 둜컬 μ‹œμŠ€ν…œμ˜ node_module/.bin/ μ—μ„œ λͺ…령을 μ°Ύκ³  μ μ ˆν•œ λͺ…령을 찾지 λͺ»ν•˜λ©΄ μ›Ήμ—μ„œ νŒ¨ν‚€μ§€λ₯Ό κ°€μ Έμ˜€κ³  항상 μ΅œμ‹  μƒνƒœλ₯Ό μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. .
yarn은 둜컬 컴퓨터에 μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•Šμ€ λ™μ•ˆ μ›Ήμ—μ„œ νŒ¨ν‚€μ§€λ₯Ό κ°€μ Έμ˜€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

yarnx 받을 수 μžˆλ‚˜μš”?

@light24bulbs 특히 μ™œ?

μ†”μ§νžˆ μ €λŠ” npx κ°€ μ•½κ°„ λ„ˆλ¬΄ "npm inc." 쀑심적이긴 ν•˜μ§€λ§Œ 쒋은 도ꡬ라고 μƒκ°ν•©λ‹ˆλ‹€. yarnx λŠ” 이 문제λ₯Ό ν•΄κ²°ν•˜μ§€ λͺ»ν•˜λ―€λ‘œ(ν•„μ—°μ μœΌλ‘œ 원사 쀑심이어야 함) 이것이 쒋은 생각인지 ν™•μ‹ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ΄μƒμ μœΌλ‘œλŠ” μ‚¬μš©ν•  νŒ¨ν‚€μ§€ κ΄€λ¦¬μžλ₯Ό μžλ™μœΌλ‘œ κ°μ§€ν•˜κ±°λ‚˜ μ΅œμ†Œν•œ rc 파일 λ‚΄μ—μ„œ ꡬ성할 수 μžˆλ„λ‘ npx λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이 문제λ₯Ό κ·Έλ“€μ—κ²Œ κ°€μ Έμ˜€κ³  그듀이 λ§ν•˜λŠ” 것을 λ³Ό 것을 μ œμ•ˆν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 닡변에 따라 정보에 μž…κ°ν•œ 토둠을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€ πŸ™‚

@arcanis npx μžμ²΄λŠ” npmκ³Ό ν•¨κ»˜ λ²ˆλ“€λ‘œ 제곡되기 λ•Œλ¬Έμ— npmκ³Ό κ²°ν•©λ©λ‹ˆλ‹€ -- libnpx λŠ” 그렇지 μ•ŠμœΌλ©° μ‹€μ œλ‘œ pnpm의 pnpx κ°€ ν›„λ“œ μ•„λž˜μ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€. Zoltan을 κ°€λŠ₯ν•˜κ²Œ ν•˜κΈ° μœ„ν•΄ λͺ‡ 가지 패치λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. 일뢀 톡합을 μ œκ±°ν•˜κ³  μ§€μ›ν•˜κΈ°κ°€ 더 λ³΅μž‘ν•˜κ³  μ–΄λ ΅κ²Œ λ§Œλ“€κΈ° λ•Œλ¬Έμ— μžλ™ 감지 지원을 μΆ”κ°€ν•˜μ§€ μ•Šκ² μŠ΅λ‹ˆλ‹€. :)

방금 이 문제λ₯Ό κ²€μƒ‰ν–ˆλŠ”λ° μ—…λ°μ΄νŠΈμ— λŒ€ν•΄ λ¬Όμ–΄λ³Ό 수 μžˆλŠ” μ μ ˆν•œ μž₯μ†ŒλΌκ³  μƒκ°ν•©λ‹ˆλ‹€. κΈ°μ‘΄ 도ꡬ/μ†”λ£¨μ…˜μ΄ μžˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ 원사에 일뢀 κΈ°λŠ₯을 μΆ”κ°€ν•  κ³„νšμž…λ‹ˆκΉŒ?
예λ₯Ό λ“€μ–΄ npx에 λŒ€ν•œ ν˜„μž¬ λ¬Έμ œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  1. 맀번 μ˜μ‘΄μ„±μ΄ μžˆλŠ” λΆ€μž¬ νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.
  2. κ²½κ³ λ₯Ό λ°œμƒμ‹œν‚€κ³  μ†μœΌλ‘œ μ œκ±°ν•΄μ•Ό ν•˜λŠ” Yarn 지ν–₯ ν”„λ‘œμ νŠΈμ—μ„œ package-lock.json을 μƒμ„±ν•©λ‹ˆλ‹€.
    (특히 방금 npx gatsby new blog https://github.com/gatsbyjs/gatsby-starter-blog )

이 두 가지 λ¬Έμ œλŠ” @phraκ°€ 이미 μ„Έ 번째 μš”μ μœΌλ‘œ μ–ΈκΈ‰ν•œ 것과 같은 원사λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ™„λ²½ν•˜κ²Œ μΌμΉ˜ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

UPD: 기본적으둜 λ‚΄κ°€ μ–ΈκΈ‰ν•œ ypx 주된 μ΄μœ λŠ” λ°”μ΄λ„ˆλ¦¬ μ‹€ν–‰(원사λ₯Ό μ‚¬μš©ν•˜λ©΄ μ „ν˜€ 문제 μ—†μŒ)이 μ•„λ‹ˆλΌ μ‹€ν–‰ν•˜λ €λŠ” νŒ¨ν‚€μ§€λ₯Ό μžλ™ λ‹€μš΄λ‘œλ“œν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

λ‚˜λŠ” λ™μ˜ν•œλ‹€. NPM μ΄μƒν•œ APIλ₯Ό κ°œμ„ ν•  κΈ°νšŒλ„ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.
μ•½κ°„. yarn exec COMMAND ν˜ΈμΆœν•˜λŠ” 것이
yarnx . Ruby λ²ˆλ“€λŸ¬μ—λŠ” 맀우 μœ μ‚¬ν•œ λͺ…령이 μžˆμŠ΅λ‹ˆλ‹€.
https://bundler.io/man/bundle-exec.1.html

2018λ…„ 12μ›” 17일 μ›”μš”μΌ μ˜€ν›„ 2μ‹œ 29λΆ„ Pavel Prokudin [email protected]
썼닀:

방금 이 문제λ₯Ό κ΅¬κΈ€λ§ν–ˆλŠ”λ° 여기에 λŒ€ν•΄ μ§ˆλ¬Έν•˜κΈ°μ— μ μ ˆν•œ 곳이라고 μƒκ°ν•©λ‹ˆλ‹€.
λͺ¨λ“  μ—…λ°μ΄νŠΈ. κΈ°μ‘΄ 도ꡬ/μ†”λ£¨μ…˜μ΄ μžˆκ±°λ‚˜ 일뢀λ₯Ό μΆ”κ°€ν•  κ³„νšμ΄ μžˆμŠ΅λ‹ˆκΉŒ?
싀에 κΈ°λŠ₯?
예λ₯Ό λ“€μ–΄ npx에 λŒ€ν•œ ν˜„μž¬ λ¬Έμ œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  1. 맀번 μ˜μ‘΄μ„±μ΄ μžˆλŠ” λΆ€μž¬ νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.
  2. Yarn 지ν–₯ ν”„λ‘œμ νŠΈμ—μ„œ package-lock.json을 μƒμ„±ν•˜μ—¬
    κ²½κ³  및 μ†μœΌλ‘œ μ œκ±°ν•΄μ•Ό ν•©λ‹ˆλ‹€.
    (특히 npx gatsby new blogλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
    https://github.com/gatsbyjs/gatsby-starter-blog)

이 두 가지 λ¬Έμ œλŠ” λͺ¨λ‘ @phra와 같은 원사λ₯Ό ν•΄κ²°ν•˜λŠ” 데 μ™„λ²½ν•œ 일치처럼 λ³΄μž…λ‹ˆλ‹€.
https://github.com/phraλŠ” 이미 그의 μ„Έ 번째 μš”μ μœΌλ‘œ μ–ΈκΈ‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

β€”
당신이 μ–ΈκΈ‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ 확인
https://github.com/yarnpkg/yarn/issues/3937#issuecomment-447968558 λ˜λŠ” μŒμ†Œκ±°
μŠ€λ ˆλ“œ
https://github.com/notifications/unsubscribe-auth/AAjhEng6juvpaK4xLx1KrVHccJAytnAfks5u5_CcgaJpZM4OY9aL
.

--
-포레슀트

yarn exec 이미 μ‘΄μž¬ν•©λ‹ˆλ‹€(당신이 μ œμ•ˆν•œ 것과 λ‹€λ₯Έ 의미둜) πŸ™‚

μƒˆλ‘œμš΄ yarn dlx 이 이 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆκΉŒ?

cc @sandys @arcanis

https://yarnpkg.github.io/berry/cli/dlx

λ„€! μ§€κΈˆμ€ 이 문제λ₯Ό 끝내고 κΈ°λŠ₯을 v1으둜 λ°±ν¬νŠΈν• μ§€ μ—¬λΆ€λ₯Ό 아직 νŒŒμ•…ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€(μ•„λ§ˆλ„ 그렇지 μ•ŠμŠ΅λ‹ˆκΉŒ?).

λŒ€μ²΄ν• λ§Œν•œ κ°€μΉ˜κ°€ μžˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. yarn dlx eslint --help λŠ” λ‚΄ μ»΄ν“¨ν„°μ—μ„œ 2.7μ΄ˆκ°€ κ±Έλ¦¬λŠ” 반면 npx eslint --help λŠ” 0.2초 μ•ˆμ— μ™„λ£Œλ©λ‹ˆλ‹€. λ§Žμ€ bin 슀크립트λ₯Ό ν˜ΈμΆœν•˜λ©΄ ν—ˆμš©ν•  수 μ—†λŠ” 값이 λΉ λ₯΄κ²Œ μΆ”κ°€λ©λ‹ˆλ‹€.

λ˜ν•œ 슀크립트의 좜λ ₯을 ꡬ문 뢄석할 수 μžˆλ„λ‘ 였λ₯˜κ°€ μ—†λŠ” ν•œ stdout/stderr을 μ›μ‚¬λ‘œ μž‘μ„±ν•΄μ„œλŠ” μ•ˆ λœλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@silverwind 타이밍 차이가 κ½€

Yarn의 stdout/stderrκ³Ό κ΄€λ ¨ν•˜μ—¬ μ €λŠ” yarn --silend dlx eslint λ₯Ό μ‚¬μš©ν•˜μ—¬ μ€‘μš”ν•˜μ§€ μ•Šμ€ λͺ¨λ“  Yarn 좜λ ₯을 μ–΅μ œν•  수 μžˆλ‹€κ³  _생각_ν•©λ‹ˆλ‹€. @arcanis 이 λ§ˆμ§€λ§‰ 것을 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ?

@light24bulbs 특히 μ™œ?

μ›Ήμ—μ„œ νŒ¨ν‚€μ§€λ₯Ό μ°ΎλŠ” λͺ¨λ“  μ‚¬λžŒλ“€μ˜ 경우 μ„€μΉ˜ 지침에 npx something something λ˜μ–΄ μžˆμ§€λ§Œ μ‹€ 세계에 남아 있기λ₯Ό μ›ν•©λ‹ˆλ‹€.

μƒˆλ‘œμš΄ yarn dlx 이 이 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆκΉŒ?

κ°€ yarn dlx μ •ν™•ν•œ s/npx/yarn dlx/ λ“œλ‘­ 인 ꡐ체 npx ? 그렇지 μ•ŠμœΌλ©΄ 이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

원사 생성 및 npx 및 npm μ΄ˆκΈ°ν™”

데λͺ¨

https://www.npmjs.com/package/create-react-app

$ yarn create react-app

$ npx create-react-app

$ npm init react-app

image

https://www.npmtrends.com/npm-vs-npx-vs-yarn

image

@ light24bulbsλŠ” - λ•Œλ¬Έμ— 에코 @rulatir에, λ‚˜λŠ” μ—¬κΈ°μ—μžˆμ–΄ λ™ν™”μ˜ λΉ λ₯Έ μ‹œμž‘ κ°€μ΄λ“œλŠ” μ‚¬μš© λ§ν•œλ‹€ npx μ„€μΉ˜ν•˜κΈ° μœ„ν•΄ , λ‚˜λŠ”μ— ν•΄λ‹Ήν•˜λŠ” λ§ˆλ²• incantν•˜λŠ” 방법에 λŒ€ν•œ μ‰¬μš΄ 쑰리법이 μ—†μ—ˆλ‹€ yarn . 원사에 λŒ€ν•œ λ™λ“±ν•œ λͺ…λ Ή 집합이 μžˆλŠ” 경우 ν•΄λ‹Ή νŽ˜μ΄μ§€(이 μŠ€λ ˆλ“œ λŒ€μ‹ )κ°€ "npx의 원사 ​​버전"에 λŒ€ν•œ Google 검색 결과의 맨 μœ„μ— μžˆλ„λ‘ 이λ₯Ό 원사 μ›Ήμ‚¬μ΄νŠΈμ— κ²Œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

저도 @codekilnκ³Ό 같은 λ°°λ₯Ό 타고 μžˆμŠ΅λ‹ˆλ‹€. run npx ... λΌλŠ” 지침을 λ”°λ₯Ό λ•Œλ§ˆλ‹€ yarn ν•΄λ‹Ήν•˜λŠ” 것이 무엇인지 μ „ν˜€ λͺ¨λ¦…λ‹ˆλ‹€. μ˜ˆλŠ” npx tslint-to-eslint-config μž…λ‹ˆλ‹€.

@ light24bulbsλŠ” - λ•Œλ¬Έμ— 에코 @rulatir에, λ‚˜λŠ” μ—¬κΈ°μ—μžˆμ–΄ λ™ν™”μ˜ λΉ λ₯Έ μ‹œμž‘ κ°€μ΄λ“œλŠ” μ‚¬μš© λ§ν•œλ‹€ npx μ„€μΉ˜ν•˜κΈ° μœ„ν•΄ , λ‚˜λŠ”μ— ν•΄λ‹Ήν•˜λŠ” λ§ˆλ²• incantν•˜λŠ” 방법에 λŒ€ν•œ μ‰¬μš΄ 쑰리법이 μ—†μ—ˆλ‹€ yarn . 원사에 λŒ€ν•œ λ™λ“±ν•œ λͺ…λ Ή 집합이 μžˆλŠ” 경우 ν•΄λ‹Ή νŽ˜μ΄μ§€(이 μŠ€λ ˆλ“œ λŒ€μ‹ )κ°€ "npx의 원사 ​​버전"에 λŒ€ν•œ Google 검색 결과의 맨 μœ„μ— μžˆλ„λ‘ 이λ₯Ό 원사 μ›Ήμ‚¬μ΄νŠΈμ— κ²Œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€λ‘œ capacitorjs μ„€μΉ˜ κ°€μ΄λ“œ https://capacitorjs.com/docs/getting-started λ₯Ό μ‚¬μš© ν•˜λ©΄ μ‚¬μš©μžκ°€ 원사λ₯Ό ν¬κΈ°ν•˜κ³  npm으둜 λŒμ•„κ°€λ„λ‘ μ„€λ“ν•œλ‹€λŠ” λŠλ‚Œμ„ λ°›μŠ΅λ‹ˆλ‹€.

https://yarnpkg.com/en/docs/cli/exec

404 νŽ˜μ΄μ§€λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€

@delanym 이 이 νŽ˜μ΄μ§€λ₯Ό μ˜λ―Έν–ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€(κ·ΈλŸ¬λ‚˜ 이것이 npx λ³΅μ œν•œλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€): https://yarnpkg.com/cli/exec

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰