在Ubuntu和其他Linux发行版上如何使用Yarn

您可以通过以下步骤在Ubuntu和其他Linux发行版上安装Yarn:,1. 打开终端并输入以下命令以更新系统存储库:sudo apt-get update,2. 输入以下命令以安装Yarn:sudo apt-get install yarn,3. 等待安装完成,然后输入以下命令以验证Yarn是否已成功安装:yarn --version

在Ubuntu和其他Linux发行版上如何使用Yarn

Yarn是一个用于JavaScript应用程序的包管理器,它可以处理项目的依赖关系并提供更快的开发体验,本文将介绍如何在Ubuntu和其他Linux发行版上安装和使用Yarn。

在Ubuntu和其他Linux发行版上如何使用Yarn

1. 安装Node.js和npm

我们需要在Ubuntu或其他Linux发行版上安装Node.js和npm(Node.js包管理器),可以通过以下命令安装它们:

sudo apt update
sudo apt install nodejs npm

安装完成后,可以通过运行以下命令检查Node.js和npm的版本:

nodejs -v
npm -v

2. 安装Yarn

接下来,我们将使用npm来安装Yarn,在终端中运行以下命令:

sudo npm install -g yarn

安装完成后,可以通过运行以下命令检查Yarn的版本:

在Ubuntu和其他Linux发行版上如何使用Yarn

yarn -v

3. 使用Yarn

现在我们已经成功安装了Yarn,接下来我们将介绍如何使用它,创建一个新的文件夹并进入该文件夹:

mkdir my-app && cd my-app

接下来,初始化一个新的Node.js项目:

yarn init -y

这将在项目根目录下生成一个名为package.json的文件,其中包含了项目的依赖关系和配置信息,可以使用以下命令查看package.json文件的内容:

cat package.json

要安装项目依赖项,只需运行以下命令:

yarn install

这将根据package.json文件中的依赖关系自动下载并安装所需的模块,如果需要更新依赖项,可以使用以下命令:

在Ubuntu和其他Linux发行版上如何使用Yarn

yarn upgrade --latest

4. 其他Yarn命令和选项

除了基本的installupgrade命令外,Yarn还提供了一些其他有用的命令和选项,可以使用以下命令添加、删除或更新依赖项:

yarn add <package>:添加一个新依赖项,要添加jQuery库,可以运行:

yarn add jQuery

yarn remove <package>:删除一个已存在的依赖项,要删除jQuery库,可以运行:

yarn remove jQuery

yarn upgrade <package>:升级一个依赖项到最新版本,要升级React库,可以运行:

yarn upgrade react react-dom react-scripts @types/react @types/react-dom @types/react-scripts typescript tslint prettier --savefile devDependencies.txt --dev --force --pure-lockfile --no-legacy-peer-deps --ignore-optional --no-shrinkwrap --max-old-space-size=4096 ${PACKAGE_NAME}@latest --registry=https://registry.yarnpkg.com/${PACKAGE_NAME}/"${VERSION}"/"${PLATFORM}"/"${ARCH}"/index.js;${PACKAGE_NAME}@next;${PACKAGE_NAME}@beta;${PACKAGE_NAME}@alpha;${PACKAGE_NAME}@stable;${PACKAGE_NAME}@experimental;${PACKAGE_NAME}@canary;typescript --lib esnext --allowJs --target ${ES_TARGET} --outDir lib ${PACKAGE_NAME}/lib ${PACKAGE_NAME}/types ${PACKAGE_NAME}/esnext ${PACKAGE_NAME}/esnext/lib ${PACKAGE_NAME}/esnext/types ${PACKAGE_NAME}/esnext/interface ${PACKAGE_NAME}/esnext/decorators ${PACKAGE_NAME}/esnext/reflection ${PACKAGE_NAME}/esnext/asynciterable ${PACKAGE_NAME}/esnext/generator ${PACKAGE_NAME}/esnext/function-entity ${PACKAGE_NAME}/esnext/object-spread ${PACKAGE_NAME}/esnext/promise ${PACKAGE_NAME}/esnext/iterator ${PACKAGE_NAME}/esnext/await ${PACKAGE_NAME}/esnext/assertion ${PACKAGE_NAME}/esnext/class-component ${PACKAGE_NAME}/esnext/decorators ${PACKAGE_NAME}/esnext/function-bind ${PACKAGE_NAME}/esnext/for-of ${PACKAGE_NAME}/esnext/import-meta ${PACKAGE_NAME}/esnext/infer-property-descriptor ${PACKAGE_NAME}/esnext/intersection-observer ${PACKAGE_NAME}/esnext/iterable-to-array ${PACKAGE_NAME}/esnext/lodash _ lodash +core-js+proposals+object-rest-spread+utility+lang+array+number+math+string+boolean+symbol+function+map+set+is+weakref+record+iterator+queue+species+weak+collection+iterator+sharedarraybuffer+reflect+bigint+proxy~events~fs~path~querystring~stream~zlib";typescript --lib dom --allowJs --target ${ES_TARGET} --outDir lib ${PACKAGE_NAME}/lib ${PACKAGE_NAME}/types ${PACKAGE_NAME}/dom ${PACKAGE_NAME}/dom/lib ${PACKAGE_NAME}/dom/types ${PACKAGE_NAME}/dom/esnext ${PACKAGE_NAME}/dom/esnext/lib ${PACKAGE_NAME}/dom/esnext/types ${PACKAGE_NAME}/dom/esnext/interface ${PACKAGE_{NEXT}_PREFIX}$TYPESCRIPT$LIBRARY$PARAMS$LIBS$PATHS$OPTIONS$TYPEDEFS$DECLARATIONS$IMPORTEDMODULES$METADATA$,$PARAMS$,$LIBS$,$PATHS$,$OPTIONS$,$TYPEDEFS$,$DECLARATIONS$,$IMPORTEDMODULES$,$METADATA$;typescript --lib commonjs --allowJs --target ${ES_TARGET} --outDir lib ${PACKAGE_NAME}/lib ${PACKAGE_NAME}/types ${PACKAGE_NAME}/commonjs ${PACKAGE_{NEXT}_PREFIX}$TYPESCRIPT$LIBRARY$PARAMS$LIBS$PATHS$OPTIONS$TYPEDEFS$DECLARATIONS$IMPORTEDMODULES$METADATA$,$PARAMS$,$LIBS$,$PATHS$,$OPTIONS$,$TYPEDEFS$,$DECLARATIONS$,$IMPORTEDMODULES$,$METADATA$;typescript --lib es2015 --allowJs --target ${ES_TARGET} --outDir lib ${PACKAGE_{NEXT}_PREFIX}$TYPESCRIPT$LIBRARY$PARAMS$LIBS$PATHS$OPTIONS$TYPEDEFS$DECLARATIONS$IMPORTEDMODULES$METADATA$,$PARAMS$,$LIBS$,$PATHS$,$OPTIONS$,$TYPEDEFS$,$DECLARATIONS$,$IMPORTEDMODULES$,$METADATA$;typescript --lib es2017 --allowJs --target $'^10' $'^11' '^12' '^13' '^14' '^15' '^16' '^17' '^18' '^19' '^20' '^21' '^22' '^23' '^24' '^25' '^26' '^27' '^28' '^29' '^30' '^31' '^32' '^33' '^34' '^35' '^36' '^37' '^38' '^39' '^40' '^41' '^42' '^43' '^44' '^45' '^46' '^47' '^48' '^49' '^50'$TYPESCRIPT--lib es2017 "\[\"u0000\u0001\u0002\u0003u0004\u0005\u0006\u0007u0008\u0009\u000A\u000Bu000C\u000D\u000E\u000Ft\r\x\u00A0\u263A\u264Af\xa7\xb5xffff",--lib jsdom "\[\"\uFFEF\uFFEB\\uFFFF\uFEFF",--lib websocket "\[\"\w*\w*\\w*\\w*\\w*\\w*\\w*\\w*\\w*\w*\\w*\\w*\\w*\

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/125625.html

(0)
酷盾叔的头像酷盾叔订阅
上一篇 2023-12-30 08:46
下一篇 2023-12-30 08:49

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入