{"id":79,"date":"2022-12-15T13:23:47","date_gmt":"2022-12-15T04:23:47","guid":{"rendered":"http:\/\/blog.defree.co.kr\/?p=79"},"modified":"2022-12-17T12:12:24","modified_gmt":"2022-12-17T03:12:24","slug":"vue-cli-error-the-project-seems-to-require-yarn-but-its-not-installed","status":"publish","type":"post","link":"https:\/\/blog.defree.co.kr\/?p=79","title":{"rendered":"vue\/cli &#8220;Error: The project seems to require yarn but it&#8217;s not installed&#8221;"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-style-default is-layout-flow wp-block-quote-is-layout-flow\">\n<p>2022.12.17 \ucd94\uac00<\/p>\n\n\n\n<p>\uc65c \uadf8\ub7f0\uc9c0\ub294 \uc815\ud655\ud788 \ubaa8\ub974\uaca0\uc9c0\ub9cc yarn serve \ub4f1 yarn\uc744 \uc2e4\ud589\ud560 \ub54c cmd \uc5d0\uc11c \uc2e4\ud589\ud558\uba74 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uace0 bash (msys\ub098 git\uc5d0 \ud3ec\ud568\ub41c bash) \uc5d0\uc11c \uc2e4\ud589\ud558\uba74 \uc624\ub958\uac00 \ub098\uc9c0 \uc54a\ub294\ub2e4. <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\uac1c\uc694<\/h2>\n\n\n\n<p>nodejs, vue\/cli, yarn\uc744 \ud65c\uc6a9\ud558\uc5ec vue \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e4\uace0 yarn\uc73c\ub85c \ub85c\uceec \uc2e4\ud589\uc2dc &#8220;Error: The project seems to require yarn but it&#8217;s not installed&#8221; \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4. \uadf8\uc5d0 \ub300\uc751\ud55c \ubc29\ubc95\uc744 \uae30\uc220\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud658\uacbd<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Windows 10<\/li>\n\n\n\n<li>node v18.12.1<\/li>\n\n\n\n<li>npm v8.19.2<\/li>\n\n\n\n<li>yarn v1.22.19<\/li>\n\n\n\n<li>vue<\/li>\n\n\n\n<li>vue\/cli v5.0.8<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\uc624\ub958 \uc7ac\ud604<\/h2>\n\n\n\n<p>\uc77c\ubc18\uc801\uc778 vue \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\ub294 vue create [project name] \uc744 \ub530\ub978\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size:.875rem;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:7px;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"vue create project-sample\n#\ud504\ub9ac\uc14b \uc120\ud0dd\uc774 \uc788\ub2e4. \uc5ec\uae30\uc11c\ub294 Default [Vue 3] babel, eslint \ub97c \uc120\ud0dd\ud558\uc600\uc73c\ub098 \ub2e4\ub978 \uac83\uc744 \uc120\ud0dd\ud574\ub3c4 \ub3d9\uc77c\ud55c \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4.\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki\" style=\"background-color: #212121\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">vue create project-sample<\/span><\/span>\n<span class=\"line\"><span style=\"color: #545454\">#\ud504\ub9ac\uc14b \uc120\ud0dd\uc774 \uc788\ub2e4. \uc5ec\uae30\uc11c\ub294 Default [Vue 3] babel, eslint \ub97c \uc120\ud0dd\ud558\uc600\uc73c\ub098 \ub2e4\ub978 \uac83\uc744 \uc120\ud0dd\ud574\ub3c4 \ub3d9\uc77c\ud55c \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4.<\/span><\/span><\/code><\/pre><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size:.875rem;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:7px;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"cd project-sample\nyarn serve\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki\" style=\"background-color: #212121\"><code><span class=\"line\"><span style=\"color: #82AAFF\">cd<\/span><span style=\"color: #EEFFFF\"> project-sample<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">yarn serve<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uadf8\ub7fc \uc544\ub798\uc640 \uac19\uc740 \uc624\ub958 \ub85c\uadf8\uac00 \ucd9c\ub825\ub41c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size:.875rem;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:14px;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"$ vue-cli-service serve\n INFO  Starting development server...\n\n\n DONE  Compiled successfully in 5644ms                                                                      \uc624\ud6c4 1:17:22\n\n\n  App running at:\n  - Local:   http:\/\/localhost:8080\/\n  - Network: http:\/\/10.100.22.62:8080\/\n\n ERROR  Error: The project seems to require yarn but it's not installed.\nError: The project seems to require yarn but it's not installed.\n    at checkYarn (C:\\src\\node-workspace\\vue1\\node_modules\\@vue\\cli-shared-utils\\lib\\env.js:46:43)\n    at exports.hasProjectYarn (C:\\src\\node-workspace\\vue1\\node_modules\\@vue\\cli-shared-utils\\lib\\env.js:42:10)\n    at C:\\src\\node-workspace\\vue1\\node_modules\\@vue\\cli-service\\lib\\commands\\serve.js:330:34\n    at Hook.eval [as callAsync] (eval at create (C:\\src\\node-workspace\\vue1\\node_modules\\tapable\\lib\\HookCodeFactory.js:33:10), <anonymous&gt;:44:1)\n    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\\src\\node-workspace\\vue1\\node_modules\\tapable\\lib\\Hook.js:18:14)\n    at Watching._done (C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Watching.js:287:28)\n    at C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Watching.js:209:21\n    at Compiler.emitRecords (C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:919:5)\n    at C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Watching.js:187:22\n    at C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:885:14\n    at Hook.eval [as callAsync] (eval at create (C:\\src\\node-workspace\\vue1\\node_modules\\tapable\\lib\\HookCodeFactory.js:33:10), <anonymous&gt;:12:1)\n    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\\src\\node-workspace\\vue1\\node_modules\\tapable\\lib\\Hook.js:18:14)\n    at C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:882:27\n    at C:\\src\\node-workspace\\vue1\\node_modules\\neo-async\\async.js:2818:7\n    at done (C:\\src\\node-workspace\\vue1\\node_modules\\neo-async\\async.js:3522:9)\n    at Hook.eval [as callAsync] (eval at create (C:\\src\\node-workspace\\vue1\\node_modules\\tapable\\lib\\HookCodeFactory.js:33:10), <anonymous&gt;:6:1)\n    at C:\\src\\node-workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:736:33\n    at Immediate._onImmediate (C:\\src\\node-workspace\\vue1\\node_modules\\memfs\\lib\\volume.js:701:13)\n    at process.processImmediate (node:internal\/timers:471:21)\nerror Command failed with exit code 1.\ninfo Visit https:\/\/yarnpkg.com\/en\/docs\/cli\/run for documentation about this command.\n\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki\" style=\"background-color: #212121\"><code><span class=\"line\"><span style=\"color: #EEFFFF\">$ vue<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">cli<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">service serve<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\"> INFO  Starting development server...<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\"> DONE  Compiled successfully <\/span><span style=\"color: #89DDFF\">in<\/span><span style=\"color: #EEFFFF\"> 5644ms                                                                      \uc624\ud6c4 <\/span><span style=\"color: #F78C6C\">1<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">17<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">22<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">  App running at:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">  <\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\"> Local:   http:<\/span><span style=\"color: #89DDFF\">\/\/<\/span><span style=\"color: #EEFFFF\">localhost:<\/span><span style=\"color: #F78C6C\">8080<\/span><span style=\"color: #89DDFF\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">  <\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\"> Network: http:<\/span><span style=\"color: #89DDFF\">\/\/<\/span><span style=\"color: #F78C6C\">10.100<\/span><span style=\"color: #EEFFFF\">.<\/span><span style=\"color: #F78C6C\">22.62<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">8080<\/span><span style=\"color: #89DDFF\">\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\"> ERROR  Error: The project seems to require yarn but it<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">s not installed.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">Error: The project seems to require yarn but it<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #EEFFFF\">s not installed.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at checkYarn <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\<\/span><span style=\"color: #89DDFF\">@<\/span><span style=\"color: #EEFFFF\">vue\\cli<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">shared<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">utils\\lib\\env.js:<\/span><span style=\"color: #F78C6C\">46<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">43<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at exports.hasProjectYarn <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\<\/span><span style=\"color: #89DDFF\">@<\/span><span style=\"color: #EEFFFF\">vue\\cli<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">shared<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">utils\\lib\\env.js:<\/span><span style=\"color: #F78C6C\">42<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">10<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\<\/span><span style=\"color: #89DDFF\">@<\/span><span style=\"color: #EEFFFF\">vue\\cli<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">service\\lib\\commands\\serve.js:<\/span><span style=\"color: #F78C6C\">330<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">34<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Hook.eval <\/span><span style=\"color: #89DDFF\">[<\/span><span style=\"color: #C792EA\">as<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">callAsync<\/span><span style=\"color: #89DDFF\">]<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">eval at create <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\tapable\\lib\\HookCodeFactory.js:<\/span><span style=\"color: #F78C6C\">33<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">10<\/span><span style=\"color: #89DDFF\">),<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #EEFFFF\">anonymous<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">44<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">1<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Hook.CALL_ASYNC_DELEGATE <\/span><span style=\"color: #89DDFF\">[<\/span><span style=\"color: #C792EA\">as<\/span><span style=\"color: #EEFFFF\"> _<\/span><span style=\"color: #C792EA\">callAsync<\/span><span style=\"color: #89DDFF\">]<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\tapable\\lib\\Hook.js:<\/span><span style=\"color: #F78C6C\">18<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">14<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Watching._done <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Watching.js:<\/span><span style=\"color: #F78C6C\">287<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">28<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Watching.js:<\/span><span style=\"color: #F78C6C\">209<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">21<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Compiler.emitRecords <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:<\/span><span style=\"color: #F78C6C\">919<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">5<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Watching.js:<\/span><span style=\"color: #F78C6C\">187<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">22<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:<\/span><span style=\"color: #F78C6C\">885<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">14<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Hook.eval <\/span><span style=\"color: #89DDFF\">[<\/span><span style=\"color: #C792EA\">as<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">callAsync<\/span><span style=\"color: #89DDFF\">]<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">eval at create <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\tapable\\lib\\HookCodeFactory.js:<\/span><span style=\"color: #F78C6C\">33<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">10<\/span><span style=\"color: #89DDFF\">),<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #EEFFFF\">anonymous<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">12<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">1<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Hook.CALL_ASYNC_DELEGATE <\/span><span style=\"color: #89DDFF\">[<\/span><span style=\"color: #C792EA\">as<\/span><span style=\"color: #EEFFFF\"> _<\/span><span style=\"color: #C792EA\">callAsync<\/span><span style=\"color: #89DDFF\">]<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\tapable\\lib\\Hook.js:<\/span><span style=\"color: #F78C6C\">18<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">14<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:<\/span><span style=\"color: #F78C6C\">882<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">27<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\neo<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">async\\async.js:<\/span><span style=\"color: #F78C6C\">2818<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">7<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at done <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\neo<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">async\\async.js:<\/span><span style=\"color: #F78C6C\">3522<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">9<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Hook.eval <\/span><span style=\"color: #89DDFF\">[<\/span><span style=\"color: #C792EA\">as<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">callAsync<\/span><span style=\"color: #89DDFF\">]<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">eval at create <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\tapable\\lib\\HookCodeFactory.js:<\/span><span style=\"color: #F78C6C\">33<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">10<\/span><span style=\"color: #89DDFF\">),<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #EEFFFF\">anonymous<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">6<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">1<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\webpack\\lib\\Compiler.js:<\/span><span style=\"color: #F78C6C\">736<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">33<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at Immediate._onImmediate <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">C:\\src\\node<\/span><span style=\"color: #89DDFF\">-<\/span><span style=\"color: #EEFFFF\">workspace\\vue1\\node_modules\\memfs\\lib\\volume.js:<\/span><span style=\"color: #F78C6C\">701<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">13<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    at <\/span><span style=\"color: #89DDFF\">process<\/span><span style=\"color: #EEFFFF\">.processImmediate <\/span><span style=\"color: #89DDFF\">(<\/span><span style=\"color: #EEFFFF\">node:internal<\/span><span style=\"color: #89DDFF\">\/<\/span><span style=\"color: #EEFFFF\">timers:<\/span><span style=\"color: #F78C6C\">471<\/span><span style=\"color: #EEFFFF\">:<\/span><span style=\"color: #F78C6C\">21<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">error Command failed with <\/span><span style=\"color: #89DDFF\">exit<\/span><span style=\"color: #EEFFFF\"> code <\/span><span style=\"color: #F78C6C\">1<\/span><span style=\"color: #EEFFFF\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">info Visit https:<\/span><span style=\"color: #89DDFF\">\/\/<\/span><span style=\"color: #82AAFF\">yarnpkg.com<\/span><span style=\"color: #89DDFF\">\/<\/span><span style=\"color: #EEFFFF\">en<\/span><span style=\"color: #89DDFF\">\/<\/span><span style=\"color: #EEFFFF\">docs<\/span><span style=\"color: #89DDFF\">\/<\/span><span style=\"color: #EEFFFF\">cli<\/span><span style=\"color: #89DDFF\">\/<\/span><span style=\"color: #EEFFFF\">run <\/span><span style=\"color: #89DDFF\">for<\/span><span style=\"color: #EEFFFF\"> documentation about this command.<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc774\ub294 vue\uc758 cli-shared-utils \uc5d0\uc11c yarn \ubc84\uc804\uc744 \ud655\uc778\ud558\ub294 hasYarn \ud568\uc218\uc5d0\uc11c \uc624\ub958\uac00 \ub098\uae30 \ub54c\ubb38\uc778\ub370&#8230; \uadf8 \uc624\ub958\uc758 \uc815\ud655\ud55c \uc6d0\uc778\uc744 \ubab0\ub77c \uc9c1\uc811 \ud574\uacb0\ud560 \uc218\ub294 \uc5c6\uc5c8\ub2e4.<\/p>\n\n\n\n<p>\uc2e4\uc81c\ub85c yarn\uc5d0 \ubc84\uadf8\uac00 \uc788\uc5c8\ub358 \uac83\ub3c4 \uc544\ub2c8\uace0, \ud604\uc7ac \ud658\uacbd\uc5d0\uc11c \uc2e4\ud589\ud558\ub294 \uac83\uc740 \ub531\ud788 \ubb38\uc81c\uac00 \uc5c6\uc5c8\uc73c\ubbc0\ub85c \ud574\ub2f9 \ud568\uc218\ub97c \uc218\uc815\ud558\uc5ec \uc624\ub958\ub294 \ub118\uc5b4\uac14\ub2e4.<\/p>\n\n\n\n<p> PROJECT_ROOT\\node_modules\\@vue\\cli-shared-utils\\lib\\env.js \uc218\uc815<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size:.875rem;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:14px;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/\/ env detection\nexports.hasYarn = () =&gt; {\n  if (process.env.VUE_CLI_TEST) {\n    return true\n  }\n  if (_hasYarn != null) {\n    return _hasYarn\n  }\n  try {\n    execSync('yarn --version', { stdio: 'ignore' })\n    return (_hasYarn = true)\n  } catch (e) {\n    return (_hasYarn = false)\n  }\n}\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki\" style=\"background-color: #212121\"><code><span class=\"line\"><span style=\"color: #545454\">\/\/ env detection<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">exports.<\/span><span style=\"color: #82AAFF\">hasYarn<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">()<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">=&gt;<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">if<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">process<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">env<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">VUE_CLI_TEST<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #FF9CAC\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">if<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">!=<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">null<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">try<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #82AAFF\">execSync<\/span><span style=\"color: #F07178\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">yarn --version<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">{<\/span><span style=\"color: #F07178\"> stdio<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">ignore<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #F07178\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #FF9CAC\">true<\/span><span style=\"color: #F07178\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">catch<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">e<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #FF9CAC\">false<\/span><span style=\"color: #F07178\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc704\uc758 \ub0b4\uc6a9 \uc911 catch\ud558\uc5ec false\ub97c \ub9ac\ud134\ud560 \ub54c \uadf8\ub0e5 true\ub97c \ub9ac\ud134\ud558\ub3c4\ub85d \uc218\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size:.875rem;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:14px;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/\/ env detection\nexports.hasYarn = () =&gt; {\n  if (process.env.VUE_CLI_TEST) {\n    return true\n  }\n  if (_hasYarn != null) {\n    return _hasYarn\n  }\n  try {\n    execSync('yarn --version', { stdio: 'ignore' })\n    return (_hasYarn = true)\n  } catch (e) {\n    return (_hasYarn = true) \/\/ \ubc11\uc904 \ucad9!\n  }\n}\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki\" style=\"background-color: #212121\"><code><span class=\"line\"><span style=\"color: #545454\">\/\/ env detection<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">exports.<\/span><span style=\"color: #82AAFF\">hasYarn<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">()<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C792EA\">=&gt;<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">if<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">process<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">env<\/span><span style=\"color: #89DDFF\">.<\/span><span style=\"color: #EEFFFF\">VUE_CLI_TEST<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #FF9CAC\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">if<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">!=<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">null<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">try<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #82AAFF\">execSync<\/span><span style=\"color: #F07178\">(<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">yarn --version<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">,<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">{<\/span><span style=\"color: #F07178\"> stdio<\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">ignore<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #F07178\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #FF9CAC\">true<\/span><span style=\"color: #F07178\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">catch<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">e<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">    <\/span><span style=\"color: #89DDFF\">return<\/span><span style=\"color: #F07178\"> (<\/span><span style=\"color: #EEFFFF\">_hasYarn<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #FF9CAC\">true<\/span><span style=\"color: #F07178\">) <\/span><span style=\"color: #545454\">\/\/ \ubc11\uc904 \ucad9!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  <\/span><span style=\"color: #89DDFF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc774\uac70 \uc5b8\uc81c \uc218\uc815\ub418\ub824\ub098&#8230;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2022.12.17 \ucd94\uac00 \uc65c \uadf8\ub7f0\uc9c0\ub294 \uc815\ud655\ud788 \ubaa8\ub974\uaca0\uc9c0\ub9cc yarn serve \ub4f1 yarn\uc744 \uc2e4\ud589\ud560 \ub54c cmd \uc5d0\uc11c \uc2e4\ud589\ud558\uba74 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uace0 bash (msys\ub098 git\uc5d0 \ud3ec\ud568\ub41c bash) \uc5d0\uc11c \uc2e4\ud589\ud558\uba74 \uc624\ub958\uac00 \ub098\uc9c0 \uc54a\ub294\ub2e4. \uac1c\uc694 nodejs, vue\/cli, yarn\uc744 \ud65c\uc6a9\ud558\uc5ec vue \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e4\uace0 yarn\uc73c\ub85c \ub85c\uceec \uc2e4\ud589\uc2dc &#8220;Error: The project seems to require yarn but it&#8217;s not installed&#8221; \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4. \uadf8\uc5d0 \ub300\uc751\ud55c \ubc29\ubc95\uc744 \uae30\uc220\ud55c\ub2e4. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-79","post","type-post","status-publish","format-standard","hentry","category-1","post-preview"],"_links":{"self":[{"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/79","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=79"}],"version-history":[{"count":6,"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/79\/revisions"}],"predecessor-version":[{"id":86,"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/79\/revisions\/86"}],"wp:attachment":[{"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.defree.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}