νμ¬ νλ‘μ νΈμ νμ¬ λ§ν¬λ ν¨ν€μ§( yarn link [package]
)λ₯Ό νμνλ λͺ
λ Ήμ΄ μμΌλ©΄ μ μ©ν κ²μ΄λΌκ³ μκ°ν©λλ€.
global
μ λΉμ·ν κ²μ μ΄λ»μ΅λκΉ?
Usage: yarn link [add|ls|remove] [flags]
μμ¬ λ§ν¬ [μΆκ°|ls|μ κ±°] [νλκ·Έ]
μ, λ§€μ° λͺ ννκ³ μ’μ κ²μ΄λΌκ³ μκ°ν©λλ€.
μ΄μ λν μμ§μμ΄λ ν΄κ²° λ°©λ²μ΄ μμ΅λκΉ?
μ΄ ν΄κ²° λ°©λ²μ μ°Ύμμ΅λλ€. ls -l node_modules | grep ^l
@tnrich λ©μ§ μ루μ
, λ€μμ€νμ΄μ€λ₯Ό μ§μνλ λ μΌλ°μ μΈ μ루μ
μ΄ μμ΅λκΉ? μ: node_modules/@myCompany
@bingzyuan μλν΄ λ³Ό μ μμ΅λλ€
( ls -l node_modules ; ls -l node_modules/@* ) | grep ^l
( μ΄ SO μ§λ¬Έμμ 볡μ¬)
@jlegrone νμΈ, μ μλν©λλ€. κ°μ¬ν©λλ€.
μ΄ κΈ°λ₯μ μμ§ κ³ λ € μ€μ λκΉ? @κ³ μμ΄
+1. μ§κΈμΌλ‘μλ λ 립 μ€νν μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νκ³ μμ§λ§ μ΄κ²μ λ΄μ₯νμΌλ‘ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
find node_modules node_modules/\@* -depth 1 -type l -print | while read MODULE ; do
echo "Linked module in use: $MODULE"
done
μ΄κ²μ μλμ°μμ νΉν λμμ΄ λ©λλ€. κ·Έ νλ«νΌμμ μ¬λ³Όλ¦ λ§ν¬λ₯Ό λλ²κΉ ν λ μ°κ²°λμ΄ μλ€κ³ μκ°νλ κ²μ yarnμ΄ λ§ν΄μ£ΌκΈ°λ₯Ό μ λ§λ‘ μνκΈ° λλ¬Έμ λλ€.
μ΄κ² μ‘΄μ¬νλμ§ κ²μν΄λ³΄λ..
μ¬κΈ°μ μλ μ£Όμμ΄ (μ μ΄λ λμκ²) ν΄κ²° λ°©λ²μ μ 곡νλ κ²½μ°λ³΄λ€ λ μ€μν κ²μ μ΄λ€ μμ¬ λ§ν¬κ° _μ¬μ© κ°λ₯ν_μΈμ§ μλ κΈ°λ₯μ
λλ€. μ¦, yarn link
λ₯Ό μ€νν λλ ν 리λ 무μμ΄λ©° ν¨ν€μ§ μ΄λ¦κ³Ό ν΄λΉ ν¨ν€μ§λ₯Ό ν¬ν¨νλ λλ ν 리 μ¬μ΄μλ μ°κ΄μ΄ μμ΅λλ€.
~/.yarn-config/link
λλ ν 리μ κ΄λ ¨ μ λ³΄κ° ν¬ν¨λμ΄ μλ€κ³ μκ°ν μ μμ§λ§ λΉμ΄ μμ΅λλ€.
@MikeTaylor λΉμ μ΄ μ°Ύκ³ μλ ~/.config/yarn/link
λλ ~μλ€_! μ λ§ κ³ λ§μ΅λλ€!
(μ΄λ κ² νλ©΄ ν λλ ν 리μ .yarn
, .yarn-cache
, .yarn-config
, .yarnrc
_and_ .config/yarn
μλ μ΄μ κ° μ½κ° κΆκΈν΄μ§μ§λ§ ν΅κ³Όμν€μμμ€.)
ν΄λΉ ꡬμ±μ μ°Ύμ μ μμ
PS C:\Users\me> ls ~/.config
Directory: C:\Users\me\.config
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2018-03-29 5:59 PM configstore
PS C:\Users\me> ls ~/.yarn-config
ls : Cannot find path 'C:\Users\me\.yarn-config' because it does not exist.
λ΄κ° μ°Ύμ μ μΌν νμΌμ ~/.yarnrcμ λλ€.
@retog Windowsλ₯Ό μ¬μ©νλ κ²½μ° μ°Ύκ³ μλ λλ ν λ¦¬κ° C:\Users\<userName>\AppData\Local\Yarn\config\link
.
κ°μ¬ν©λλ€ @TomGault , λ§ν¬κ° μμ΅λλ€.
ν¬λ§μ κΈλ‘λ² λ° λ‘컬μ λνμ΄ λ‘€μ κ°μ§ μ μμ΅λλ€.
μ΄κ²μ κ΅μ°¨ 리ν¬μ§ν 리 ν΅ν© μμ
μ ν λ λλ²κΉ
μ ν° λμμ΄ λ κ²μ
λλ€!
(νμ¬ λ΄κ° μ²ν μν©)
λͺ¨λ λ§ν¬λ₯Ό λ³΄λ €λ©΄ yarn link ls
μ κ°μ λͺ
λ Ήμ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€. νΉν λ§ν¬κ° μμ±λ μμΉλ₯Ό κΈ°μ΅νμ§ λͺ»νλ κ²½μ° μ κ±°ν μ μμ΅λλ€.
κ·Έλμ macOS/Linuxμ κ²½μ° λ€μμ΄ μλν΄μΌ ν©λλ€.
ls -la ~/.config/yarn/link/
λλ μ΄κ²μ μν΄ μ΄λ¦¬μμ λ°©λ²μ λ§λ€κ³ νμ¬ νλ‘μ νΈ λ§ν¬ λͺ©λ‘μ νμ ν μ μμ΅λλ€
https://www.npmjs.com/package/yarn-list-link
$ npx yarn-list-link
@node-novel\pattern-split
cjk-conv
lazy-cacache
regexp-cjk
uni-string
Windows 10μ μ€ννλ λ΄ PCμμ μμ¬ λ§ν¬λ λ€μκ³Ό κ°μ΅λλ€.
~\AppData\Local\Yarn\Data\link\
μ΄λ€ μ λ°μ΄νΈ?
find node_modules -type l | grep -v .bin
λ° find ~/.config/yarn/link -type l
λ κ°κ° μ°κ²°λ λͺ¨λκ³Ό μ°κ²° κ°λ₯ν λͺ¨λμ μ°Ύλ λ° μ μ©ν©λλ€.
@hubgit κ²μλ¬Όμ 보μνκΈ° μν΄ PowerShellμ μ¬μ©νλ Windowsμμ λ€μμ΄ μνλ κ²μ΄λΌκ³ μκ°ν©λλ€.
Get-ChildItem '.\node_modules\.bin\' | Where-Object {$_.LinkType -eq 'SymbolicLink'}
μ΄κ²μ μ 곡λλ€λ©΄ λ§€μ° λμμ΄ λ κ²μ λλ€. μ΄λ€ μ§μ μ΄ μμ΅λκΉ?
+1
+1
λλ #710μ ꡬννμμμ€.
yarn link
μ€ν μ€μ΄κ³ λμΌν μ΄λ¦μΌλ‘ μ΄λ―Έ λ±λ‘λ ν¨ν€μ§κ° μλ κ²½μ°, yarnμ΄ μ΄λ―Έ μ°κ²°λ ν¨ν€μ§μ κ²½λ‘λ₯Ό μΈμν μ μλ μ΄μ λ 무μμ
λκΉ? λν λ€λ₯Έ ν¨ν€μ§μ μ°κ²°μ ν΄μ νκ³ νμ¬ ν¨ν€μ§λ₯Ό μ°κ²°νλ©΄( -f
νλκ·Έλ‘) yarnμ΄ λ λλν΄μ§ μ μμ΅λλ€.
+1
+1
Windowsμμ dir %LOCALAPPDATA%\yarn\data\link
λ μ¬μ©μ μ΄λ¦ λ±μ μ νμ μμ΄ μλν©λλ€.
+1
# yarn link list
yll () {
current=$PWD
for link in $(find $HOME/.config/yarn/link -type l)
do
cd $link"/../"$(readlink $link)
echo $link $'\n==>' $PWD
done
cd $current
}
# yarn unlink [package]
yul () {
current=$PWD
link=$(find $HOME/.config/yarn/link -type l | grep $1$)
cd $link"/../"$(readlink $link)
yarn unlink
cd $current
}
@torifat μ΄ νΈκ° κ°μ€λκ³ μλ‘μ΄ κΈ°λ₯(κ³ μμ΄ κΈ°λ₯?)μΌλ‘ νκ·Έκ° μ§μ λ μ§λ¬κ³ κ·Έ μ΄νλ‘ μμ¬ νμΌλ‘λΆν° μμμ λ£μ§ λͺ»νμ΅λλ€. μ΄μ λν μμ§μμ΄ μμ΅λκΉ? :)
μ΄κ²μ λ΄ νλ‘μ νΈμμ μ°κ²°λ ν¨ν€μ§λ₯Ό μ°Ύλ λ° λμμ΄ λμμ΅λλ€.
ls -l node_modules | grep ^l
https://stackoverflow.com/questions/24933955/easy-way-to-list-node-modules-i-have-npm-linked
ls -l node_modules | grep ^l
μ λ¬Έμ λ μ°κ²°λ _scoped_ ν¨ν€μ§( @types
μ κ°μ @ λλ ν 리 μλμ νμ λλ ν 리)λ₯Ό νμνμ§ μλλ€λ κ²μ
λλ€.
λΉ λ₯Έ μμ μ ls
λͺ
λ Ήμ μ¬κ· νλκ·Έ R
λ₯Ό μΆκ°νλ κ²μ
λλ€. λΉκ΅μ μμ μ’
μμ± λͺ©λ‘μμ ν
μ€νΈνκΈ° λλ¬Έμ μ±λ₯μ λν΄ λ§ν μ μμ΅λλ€.
ls -lR node_modules | grep ^l
νλ‘μ νΈμμ νμ¬ μ°κ²°λ ν¨ν€μ§λ₯Ό λμ΄νλ €λ©΄ λ€μμ μνν©λλ€.
yllc() {
find -L node_modules -maxdepth 3 -type d -xtype l | xargs -I{} sh -c "echo {} '->' $(realpath {})"
}
κ²°κ³Ό:
node_modules/@somname/somepkg -> /home/user/repos/somename-somepkg
λ²μ ν¨ν€μ§λ₯Ό ν¬ν¨νμ¬ μ°κ²°ν μ μλ ν¨ν€μ§λ₯Ό μ°ΎκΈ° μν΄ μννλ μμ μ λ€μκ³Ό κ°μ΅λλ€.
yll () {
linkDir=~/.config/yarn/link
find $linkDir -maxdepth 2 -type l | xargs realpath -s --relative-to $linkDir
}
κ²°κ³Ό:
@somename/foo
@othername/bar
somepkg
otherpkg
κ·Έλ° λ€μ fzf
κ³Ό κ°μ΄ μ¬μ©ν μ μμ΅λλ€.
yarn link $(yll | fzf -m)
λλ μ΄κ²μ λ무 μμ£Ό μ¬μ©νμ¬ bash λ³μΉμΌλ‘ λ§λ€μμ΅λλ€.
alias yarn-linked="find . -type l | grep -v .bin | sed 's/^\.\/node_modules\///'"
alias yarn-unlink-all="yarn-linked | xargs yarn unlink && yarn install --check-files"
μ°λ¦¬κ° μ루μ μ κ²μνκ³ μκ³ κ·Έκ²λ€μ λͺ¨λ μ¬κΈ°μμ λ무 볡μ‘ν΄ λ³΄μ΄κΈ° λλ¬Έμ μ κ° μ¬λ¬λΆ λͺ¨λλ₯Ό λμλλ¦¬κ² μ΅λλ€.
alias yarn-linked="find node_modules -type l -maxdepth 3 | grep -v .bin | cut -f2 -d/"
μ¬μμ.
νΈμ§: λΉλ‘ @Bkucera μ루μ
μ΄ μ λ§ μ’μ
νΈμ§: λ΄ μ루μ
λ 볡μ‘ν©λλ€! μ μ₯, νΈλ‘€ μ€ν¨!
νΈμ§: @Bkucera , κ·νμ μ루μ
μ MacOSμ νΈνλμ§ μμ΅λλ€ :cry:
yarnμ΄λ npmμ λκ΅°κ°κ° μ΄κ²μ μ‘°μ¬ν μ μμ΅λκΉ? λΆλͺ ν ν° μμκ° μμ΅λλ€. <3
+1
yll () { linkDir=~/.config/yarn/link find $linkDir -maxdepth 2 -type l | xargs realpath -s --relative-to $linkDir }
μ΄κ²μ 맀λ ₯μ²λΌ μλνμ΅λλ€. 곡μ ν΄ μ£Όμ μ κ°μ¬ν©λλ€!
λλ₯Ό μν΄ μΌν μ루μ μ λ€μκ³Ό κ°μ΅λλ€.
~/.config/yarn/link
ν΄λλ‘ μ΄λλ©μμ§μ μ΄λ¬ν μ§μΉ¨μ μΆκ°νλ κ²μ΄ μ’μ΅λλ€.
νλ‘μ νΈμμ yarn 1.x
λ₯Ό μ¬μ©νμ¬ λͺ κ°μ§ λ³μΉμ μΆκ°νμ΅λλ€.
$ alias | grep yarn
yarn-linked='find -L $(find node_modules -type l) -type d -prune'
yarn-links='(cd $HOME/.config/yarn/link && find . -type l | cut -c 3-)'
κ·Έκ²μ λλ₯Ό μν΄ μλνμ§ μμ΅λλ€. ~/.config/yarn/link
ν΄λκ° μμ΅λλ€. λΉμ΄ μλ μ μ ν΄λλ§ μμ΅λλ€.
λμμ΄ λ μ μλ€λ©΄ Manjaro Linuxλ₯Ό μ¬μ©ν©λλ€.
μ΄κ²μ μ¬μ ν ββκ³ λ €λ©λκΉ?
μ΄ κΈ°λ₯μ μΆκ°νκ³ TypeScript νλ‘μ νΈμ @types
ν¨ν€μ§λ₯Ό μλμΌλ‘ μ€μΉνλ Yarn λνΌλ₯Ό λ§λ€μμ΅λλ€. https://github.com/iansu/blarn
μ΄ κΈ°λ₯μ΄ μμ¬μ μΆκ°λλ λ° μ΄μκ° μλ κ²μ²λΌ λ€λ¦¬λ©° λκ΅°κ°κ° μνν΄μΌ ν©λλ€. μꡬ μ¬ν:
CURRENT νλ‘μ νΈμ μ°κ²°λ ν¨ν€μ§λ₯Ό λμ΄νλ κΈ°λ₯. μ¦, node_modules
ν΄λμμ μΈλΆ(λ‘컬) ν¨ν€μ§μ λν μ¬λ³Όλ¦ λ§ν¬λ₯Ό μ¬κ·μ μΌλ‘ κ²μ¬ν©λλ€.
CURRENT νλ‘μ νΈμ μ°κ²°λ λͺ¨λ ν¨ν€μ§μ μ°κ²°μ ν΄μ νλ κΈ°λ₯.
κΈλ‘λ² λ§ν¬ λ μ§μ€νΈλ¦¬ λλ ν 리μ λ±λ‘ λ λͺ©λ‘ ν¨ν€μ§ κΈ°λ₯ ( $HOME/.config/yarn/link
* nixμμ μ€ν¬λ¦½νΈμ %LOCALAPPDATA%\yarn\data\link
Windowsμμ)
yarn link [add|ls|remove]
(μ΄μ μ μ μ€ νλ)λ μ΄μ λ²μ κ³Ό μμ ν νΈνλμ§ μμΌλ―λ‘ yarn link --list
μ μν©λλ€. μ΄ νλκ·Έλ (1)κ³Ό (3)μ λͺ©λ‘μ μμ±ν΄μΌ ν©λλ€.
λν (2)λ₯Ό λ¬μ±νκΈ° μν λ°©λ²μΌλ‘ yarn unlink --all
λ₯Ό μ μν©λλ€.
PRμ νκ³ μμ΅λλ€. μ λ μμ¬ λ΄λΆμ λν΄ μ ν μ΅μνμ§ μμ§λ§, μ±κ³΅νλ©΄ μ μΆν λ μ΄ λ¬Έμ μ λ€μ λ§ν¬νκ² μ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
global
μ λΉμ·ν κ²μ μ΄λ»μ΅λκΉ?Usage: yarn link [add|ls|remove] [flags]