With kudos to all the answers that correctly suggest removing the Ubuntu yarn package and installing Yarn through NPM, here is a detailed answer with explanation (and, be warned, opinions):
The reason for the No such file or directory error from yarn install is that you are not using the «correct» Yarn: the software you get when you install yarn using the Ubuntu software sources is the «yarn» scenario testing tool from the cmdtest blackbox testing suite. This is likely not what you meant as Yarn is also a popular development lifecycle tool for Javascript application (similar to Make, Maven and friends).
The Javascript Yarn tool is not available from Ubuntu software sources but can be installed by NPM (which is another development lifecycle tool that Yarn aims to replace — so that’s awkward…).
To make Yarn available in Ubuntu, start by removing cmdtest and its tools:
$ sudo apt purge cmdtest
Then make sure NPM is installed:
$ sudo apt install npm
Then use NPM to install Yarn:
$ npm install -g yarn
Note: using npm install -g will install a Javascript package for your current user account, which should be fine for most purposes. If you want to install Yarn for all users, you can use sudo for the NPM command, but that is not recommended: NPM packages are rarely audited for security in the context of a multi-user operating system and installing some packages might even break when installing them as «root». NPM used to warn against running it with sudo and the main reason it is not doing so today is that it annoys people that use sandboxed «root-like» environments (such as Docker) for building and deploying Javascript applications for single-user servers.
Arguments:
/usr/local/bin/node /usr/local/Cellar/yarn/1.7.0/libexec/bin/yarn.js install --network-concurrency 1
PATH:
/Users/mike/Applications/google-cloud-sdk/bin:/Users/mike/.cargo/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin
Yarn version:
1.7.0
Node version:
10.7.0
Platform:
darwin x64
Trace:
Error: ENOTDIR: not a directory, lstat '/Users/mike/Code/boltline/app/packages/boltline-native/node_modules/@boltline/grades/node_modules/expand-brackets/node_modules/debug/.eslintrc'
npm manifest:
{
"private": true,
"license": "UNLICENSED",
"author": "Mike Marcacci <mike@marcacci-labs.com>",
"scripts": {
"lint": "flow && eslint .",
"precommit": "lint-staged",
"prettier": "prettier "packages/*/src/**/*.{js,css,.md}" --write",
"deploy": "scripts/deploy.sh",
"dev": "scripts/dev.sh"
},
"repository": {
"url": "https://github.com/boltline/app.git",
"type": "git"
},
"workspaces": {
"packages": [
"packages/core",
"packages/grades",
"packages/boltline-native",
"packages/boltline-web"
],
"nohoist": [
"**/**",
"**/@boltline/core",
"**/react-native",
"**/react-native/**",
"**/@mapbox/react-native-mapbox-gl",
"**/@mapbox/react-native-mapbox-gl/**",
"**/react-native-*",
"**/react-native-*/**",
"**/vm-browserify",
"**/vm-browserify/**"
]
},
"devDependencies": {
"husky": "^0.14.3"
},
"dependencies": {}
}
yarn manifest:
No manifest
Lockfile:
No lockfile
Answer by Alexandria Gomez
The reason for the No such file or directory error from yarn install is that you are not using the «correct» Yarn: the software you get when you install yarn using the Ubuntu software sources is the «yarn» scenario testing tool from the cmdtest blackbox testing suite. This is likely not what you meant as Yarn is also a popular development lifecycle tool for Javascript application (similar to Make, Maven and friends).,With kudos to all the answers that correctly suggest removing the Ubuntu yarn package and installing Yarn through NPM, here is a detailed answer with explanation (and, be warned, opinions):,The Javascript Yarn tool is not available from Ubuntu software sources but can be installed by NPM (which is another development lifecycle tool that Yarn aims to replace — so that’s awkward…).,
For a postdoctoral fellowship, what is more important: number of positions, length of time in a/the position(s), or variety of research?
This solution worked for me:
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn -y
then
yarn install
result:
yarn install v1.3.2
warning You are using Node "6.0.0" which is not supported and may encounter bugs or unexpected behaviour. Yarn supports the following server range: "^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0"
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
info Lockfile not saved, no dependencies.
Done in 0.20s.
Answer by Paxton Pham
You can use the Makefile.docker in the client for building it using, well, docker.,Basically, uninstall yarn and cmdtest; then reinstall globally or with npm.,do you have yarn installed?,
Pricing
Plans →
Compare plans →
Contact Sales →
Education →
make -C client/ client_prod
make[1]: Entering directory '/root/go/src/github.com/alice-lg/alice-lg/client'
Installing dependencies
yarn install
00h00m00s 0/0: : ERROR: [Errno 2] No such file or directory: 'install'
make[1]: *** [Makefile:27: deps] Error 1
make[1]: Leaving directory '/root/go/src/github.com/alice-lg/alice-lg/client'
make: *** [Makefile:36: client_prod] Error 2
Answer by Raelyn Ramos
Search Answer Titles
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn
yarn install
# Result/output of above command
yarn install v1.3.2
warning You are using Node "6.0.0" which is not supported and may encounter bugs or unexpected behavior. Yarn supports the following semver range: "^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0"
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
info Lockfile not saved, no dependencies.
Done in 0.20s.
Answer by Paityn Pacheco
Example 1: yarn install No such file or directory: ‘install’
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn -y
Example 2: yarn install No such file or directory: ‘install’
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn -y
yarn install
Answer by Jay Benton
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn
Answer by Macie Wiggins
У меня была такая же проблема на Ubuntu 17.04.
,У меня была такая же проблема на Ubuntu 18.04. Это было то, что сработало для меня:
,Это решение сработало для меня:
,это сработало для меня
Я устанавливаю sylius bundle, и во время установки sylius мне нужно запустить yarn install So
Пока я выполняю команду
yarn install
Answer by Zahra Salgado
The yarn.lock file is utilized as follows:,Install all the dependencies listed within package.json in the local
node_modules folder.,Show additional logs while installing dependencies,Don’t install optional dependencies.
"resolutions": {
"package-a": "2.0.0",
"package-b": "5.0.0",
"package-c": "1.5.2"
}
Answer by Preston Robbins
Ask
questionsyarn install fails with `ENOENT: no such file or directory` occasionally
,error An unexpected error occurred: «ENOENT: no such file or directory, lstat ‘/home/user/workspace/project/packages/components/node_modules/source-map-support'».
Running yarn install as part of a build step for a Docker image based on node:7 fails on Travis CI with ENOTEMPTY, EEXISTS errors. It always seems to error on the webdriverio package.
yarn install v0.19.1
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.6.2.tgz: ENOENT: no such file or directory, open '/usr/local/share/.cache/yarn/npm-webdriverio-4.6.2-dd095ee618896a21c8f1b9d4278736d85a64ca0f/lib/protocol/timeouts.js'".
Loading
Web
Wiki
FAQ
Вы являетесь автором плагина и хотите объявить свои собственные коды ошибок, которые не соответствуют семантике представленных здесь? Пожалуйста,
YNXот одного символа и используйте префикс YNX (например,YNX001) вместоYN0!Соблюдение этого соглашения поможет нашим пользователям выяснить, какие коды ошибок можно найти в этой документации, а какие следует вместо этого сравнивать с отдельной документацией подключаемых модулей, которые они используют.
- YN0000 —
UNNAMED - YN0001 —
EXCEPTION - YN0002 —
MISSING_PEER_DEPENDENCY - YN0003 —
CYCLIC_DEPENDENCIES - YN0004 —
DISABLED_BUILD_SCRIPTS - YN0005 —
BUILD_DISABLED - YN0006 —
SOFT_LINK_BUILD - YN0007 —
MUST_BUILD - YN0008 —
MUST_REBUILD - YN0009 —
BUILD_FAILED - YN0010 —
RESOLVER_NOT_FOUND - YN0011 —
FETCHER_NOT_FOUND - YN0012 —
LINKER_NOT_FOUND - YN0013 —
FETCH_NOT_CACHED - YN0014 —
YARN_IMPORT_FAILED - YN0015 —
REMOTE_INVALID - YN0016 —
REMOTE_NOT_FOUND - YN0017 —
RESOLUTION_PACK - YN0018 —
CACHE_CHECKSUM_MISMATCH - YN0019 —
UNUSED_CACHE_ENTRY - YN0020 —
MISSING_LOCKFILE_ENTRY - YN0021 —
WORKSPACE_NOT_FOUND - YN0022 —
TOO_MANY_MATCHING_WORKSPACES - YN0023 —
CONSTRAINTS_MISSING_DEPENDENCY - YN0024 —
CONSTRAINTS_INCOMPATIBLE_DEPENDENCY - YN0025 —
CONSTRAINTS_EXTRANEOUS_DEPENDENCY - YN0026 —
CONSTRAINTS_INVALID_DEPENDENCY - YN0027 —
CANT_SUGGEST_RESOLUTIONS - YN0028 —
FROZEN_LOCKFILE_EXCEPTION - YN0029 —
CROSS_DRIVE_VIRTUAL_LOCAL - YN0030 —
FETCH_FAILED - YN0031 —
DANGEROUS_NODE_MODULES - YN0032 —
NODE_GYP_INJECTED - YN0046 —
AUTOMERGE_FAILED_TO_PARSE - YN0047 —
AUTOMERGE_IMMUTABLE - YN0048 —
AUTOMERGE_SUCCESS - YN0049 —
AUTOMERGE_REQUIRED - YN0050 —
DEPRECATED_CLI_SETTINGS - YN0059 —
INVALID_RANGE_PEER_DEPENDENCY - YN0060 —
INCOMPATIBLE_PEER_DEPENDENCY - YN0061 —
DEPRECATED_PACKAGE - YN0062 —
INCOMPATIBLE_OS - YN0063 —
INCOMPATIBLE_CPU - YN0068 —
UNUSED_PACKAGE_EXTENSION - YN0069 —
REDUNDANT_PACKAGE_EXTENSION - YN0071 —
NM_CANT_INSTALL_EXTERNAL_SOFT_LINK - YN0072 —
NM_PRESERVE_SYMLINKS_REQUIRED - YN0074 —
NM_HARDLINKS_MODE_DOWNGRADED - YN0075 —
PROLOG_INSTANTIATION_ERROR - YN0076 —
INCOMPATIBLE_ARCHITECTURE - YN0077 —
GHOST_ARCHITECTURE
YN0000 — UNNAMED
Этот код используется для регистрации регулярных сообщений,в основном для выравнивания всех строк в выводе Yarn.Не беспокойтесь!
YN0001 — EXCEPTION
В программе возникло исключение.
Эта ошибка,как правило,не должна возникать (вместо этого она должна указывать на другое сообщение об ошибке с этой страницы,чтобы ее можно было правильно задокументировать),поэтому ее следует считать ошибкой в Yarn.Не стесняйтесь открыть проблему или,еще лучше,запрос на исправление.
YN0002 — MISSING_PEER_DEPENDENCY
Пакет запрашивает зависимость от сверстника,но один или несколько его родителей в дереве зависимостей не предоставляют ее.
Обратите внимание, что Yarn применяет одноранговые зависимости на каждом уровне дерева зависимостей. То есть, если ─D> является зависимостью, а ─P> является равноправной зависимостью,
# bad
project
├─D> packagePeer
└─D> packageA
└─P> packageB
└─P> packagePeer
# good
project
├─D> packagePeer
└─D> packageA
├─P> packagePeer
└─D> packageB
└─P> packagePeer
В зависимости от вашей ситуации возможно несколько вариантов:
-
Автор
packageAможет решить эту проблему, добавив одноранговую зависимость отpackagePeer. Если необходимо, они могут использовать для этого необязательные одноранговые зависимости . -
Автор
packageBможет решить эту проблему, пометив одноранговую зависимостьpackagePeerкак необязательную — но, конечно, только если одноранговая зависимость действительно необязательна! -
Автор
projectможет решить эту проблему, вручную переопределив определенияpackageAи/илиpackageBс помощью параметра конфигурации .
Чтобы узнать больше об этой проблеме, ознакомьтесь с этим сообщением в блоге .
YN0003 — CYCLIC_DEPENDENCIES
Два пакета со сценариями сборки имеют циклические зависимости.
Циклические зависимости — это банка червей. Они происходят , когда пакет зависит от пакета B , и наоборот Иногда может возникнуть через цепочку нескольких пакетов — например , когда зависит от B , который зависит от C , которая зависит от A . A A
Хотя циклические зависимости могут прекрасно работать в общем случае Javascript (и фактически Yarn не предупреждает вас об этом в большинстве случаев),они могут вызвать проблемы,как только в дело вступают сценарии сборки.Действительно,чтобы собрать пакет,мы сначала должны убедиться,что его собственные зависимости были правильно собраны.Как это сделать,если два пакета ссылаются друг на друга? Поскольку первый пакет не может быть собран,такие шаблоны приведут к тому,что скрипты сборки каждого затронутого пакета будут просто проигнорированы (и будет выдано предупреждение).
В Интернете уже есть хорошая документация, объясняющая, как избавиться от циклических зависимостей, самый простой из которых — извлечь общую часть вашей программы в третий пакет без зависимостей. Итак, первый описанный нами случай будет выглядеть следующим образом: A зависит от C , B зависит от C , C ни от чего не зависит.
YN0004 — DISABLED_BUILD_SCRIPTS
В пакете есть скрипты сборки,но они отключены во всем проекте.
Сценарии сборки можно отключить в глобальном enableScripts параметров enableScripts . Когда это происходит, по-прежнему выдается предупреждение, чтобы вы знали, что установка может быть не завершена.
Самый безопасный способ превратить предупреждение в уведомление — явно отключить сценарии сборки для затронутых пакетов с помощью ключа dependenciesMeta[].built Built.
YN0005 — BUILD_DISABLED
Пакет имеет сценарии сборки,но они были отключены в его конфигурации.
Скрипты сборки можно отключить для каждого проекта с помощью параметров dependenciesMeta из файла package.json . Когда это происходит, по-прежнему отправляется уведомление, чтобы вы знали, что установка может быть не завершена.
YN0006 — SOFT_LINK_BUILD
Пакет имеет скрипты сборки,но связан через мягкую ссылку.
Для Yarn жесткая ссылка-это когда пакет принадлежит менеджеру пакетов.В таких случаях Yarn обычно копирует пакеты со сценариями сборки в локальный кэш проекта,чтобы несколько проектов с различными деревьями зависимостей не использовали одни и те же артефакты сборки.Так в чем же проблема с так называемыми «мягкими ссылками»?
Мягкие ссылки — это когда менеджер пакетов не владеет исходным кодом пакета. Примером может служить рабочая область или зависимость, на которую ссылается спецификатор portal: . В этих случаях Yarn не может безопасно предположить, что выполнение сценариев сборки имеет предполагаемое поведение, потому что это, вероятно, повлечет за собой изменение вашего проекта или, что еще хуже, внешнего местоположения на вашем диске, которое может использоваться несколькими проектами. Поскольку Yarn не делает ничего небезопасного, он не может запускать скрипты сборки для программных ссылок.
Есть несколько обходных путей:
-
Использование
file:вместоportal:приведет к использованию жесткой ссылки вместо мягкой ссылки. Другой стороной медали будет то, что пакеты также будут скопированы в кеш, а это означает, что изменение источника пакета потребует от вас запускаYARN_UPDATE_FILE_CACHE=1 yarn install, чтобы ваши изменения были приняты во внимание. -
Вы можете вручную запустить
yarn run postinstall(или другое название вашего сценария сборки) из каталога затронутых пакетов. Это требует, чтобы вы знали, в каком порядке они должны будут вызываться, но, как правило, это самый безопасный вариант. -
Вы можете просто воздержаться от использования скриптов сборки с мягкими ссылками.Хотя это предложение может показаться плохим вариантом «решить проблему,не сталкиваясь с ней»,учтите,что сценарии сборки в разработке могут иметь не лучший эффект с точки зрения опыта разработчика-они обычно означают,что вам нужно будет запустить сценарий,прежде чем вы сможете увидеть свои изменения,а это часто не то,к чему вы стремитесь.
YN0007 — MUST_BUILD
Пакет должен быть собран.
Это информационное сообщение появляется,когда Yarn хочет сообщить вам,что для завершения установки необходимо собрать пакет.Обычно это происходит только в двух случаях:либо пакет никогда не собирался ранее,либо его предыдущая сборка не удалась (вернул ненулевой код выхода).
YN0008 — MUST_REBUILD
Пакет должен быть перестроен.
Это информационное сообщение появляется, когда Yarn хочет сообщить вам, что пакет необходимо перестроить для завершения установки. Обычно это происходит в единственном случае: когда дерево зависимостей пакета изменилось. Обратите внимание, что это также включает в себя его транзитивные зависимости, которые иногда могут вызывать неожиданные перестроения (например, если A зависит от B , который зависит от C@1 , и если Yarn по какой-то причине решает, что C следует переместить на C@2 , тогда A нужно будет перестроить).
YN0009 — BUILD_FAILED
Сборка пакета не удалась.
Эта проблема обычно не исходит от самого Yarn,а просто означает,что пакет,описанный как имеющий директивы сборки,не может быть успешно собран.
Чтобы увидеть фактическое сообщение об ошибке,прочитайте файл,связанный с отчетом.В нем будет содержаться полный вывод сбойного сценария.
YN0010 — RESOLVER_NOT_FOUND
Для данного пакета не может быть найден разрешитель.
Резольверы — это компоненты, которым поручено преобразовывать диапазоны ( ^1.0.0 ) в ссылки ( 1.2.3 ). У каждого из них есть своя собственная логика для этого — преобразователь semver является самым известным, но далеко не единственным. Решатель GitHub преобразует репозитории GitHub в URL-адреса tarball, преобразователь Git нормализует пути, отправленные в git, … каждый преобразователь заботится о своей стратегии разрешения. Отсутствующий преобразователь означает, что одна из этих стратегий отсутствует.
Эта ошибка обычно вызвана отсутствием плагина Yarn.
YN0011 — FETCHER_NOT_FOUND
Для данного пакета не может быть найден сборщик.
Фетчеры-это компоненты,которые принимают ссылки и извлекают исходный код из удаленного места.Семверный фетчер,скорее всего,будет получать пакеты из какого-то реестра,а фетчер рабочего пространства будет просто перенаправлять на место на диске,где можно найти исходники.
Эта ошибка обычно вызвана отсутствием плагина Yarn.
YN0012 — LINKER_NOT_FOUND
Невозможно найти компоновщик для данного пакета.
Компоновщики-это компоненты,задачей которых является извлечение исходных текстов из артефактов,возвращаемых сборщиками,и размещение их на диске в виде,понятном целевой среде.Компоновщик Node будет использовать стратегию Plug’n’Play,в то время как компоновщик PHP будет использовать стратегию автозагрузки.
Эта ошибка обычно вызвана отсутствием плагина Yarn.
YN0013 — FETCH_NOT_CACHED
Пакет не может быть найден в кэше для данного пакета и будет получен из его удаленного местоположения.
Когда пакет загружается из любого удаленного места, Yarn сохраняет его в определенной папке, называемой затем кешем. Затем, в следующий раз, когда этот пакет будет загружен, Yarn просто проверит этот каталог и использует сохраненный пакет, если он доступен. Это сообщение просто означает, что пакет не может быть найден там. Это не большая проблема, но вам, вероятно, следует попытаться максимально ограничить ее — например, используя Zero-Installs .
YN0014 — YARN_IMPORT_FAILED
Не удалось правильно импортировать файл блокировки из файла блокировки v1.
Выпуск v2 содержит серьезные изменения в устройстве Yarn,и формат lockfile-одно из них.В некоторых редких случаях данные,содержащиеся в lockfile v1,не совместимы с теми,которые мы сохранили в файлах v2.Когда это произойдет,Yarn выдаст это предупреждение и снова разрешит дескриптор пакета.При этом пострадает только этот пакет;все остальные будут продолжать импортироваться,как и ожидалось.
YN0015 — REMOTE_INVALID
Удаленный источник вернул недопустимые данные.
Эта ошибка возникает в результате работы resolvers и fetchers,когда удаленные источники,с которыми они взаимодействуют,возвращают значения,не соответствующие нашим ожиданиям (например,из-за отсутствия полей).
YN0016 — REMOTE_NOT_FOUND
Удаленный источник вернул корректные данные,но сообщил нам,что пакет не может быть найден.
Эта ошибка выдается resolvers и fetchers,когда удаленные источники,с которыми они общаются,сообщают им,что пакет,к которому был сделан запрос,не существует.Это может произойти,если пакет был неопубликован,и обычно Yarn ничего не может сделать.
YN0017 — RESOLUTION_PACK
В настоящее время этот код ошибки не используется (раньше он выводил количество пакетов,участвовавших в каждом проходе алгоритма разрешения,но был сочтен слишком многословным по сравнению с его полезностью).
YN0018 — CACHE_CHECKSUM_MISMATCH
Контрольная сумма пакета из кэша не совпадает с тем,что ожидает файл блокировки.
Такая ситуация обычно возникает после того,как вы изменили zip-архив из вашего кэша,отредактировав содержащиеся в нем файлы в целях отладки.Чтобы обойти ее,используйте одну из двух следующих команд:
-
YARN_CHECKSUM_BEHAVIOR=resetудалит файлы из кеша и снова загрузит их -
YARN_CHECKSUM_BEHAVIOR=updateобновит файл блокировки, чтобы он содержал новую контрольную сумму -
YARN_CHECKSUM_BEHAVIOR=ignoreбудет использовать существующие файлы, но не будет обновлять файл блокировки
YN0019 — UNUSED_CACHE_ENTRY
При установке зависимостей был обнаружен неиспользуемый файл из кэша.
Запуск yarn cache clean .yarn/cache приведет к тому, что Yarn удалит все внутри .yarn / cache .
YN0020 — MISSING_LOCKFILE_ENTRY
Дескриптор пакета не может быть найден в файле блокировки.
Многие команды (например, yarn run ) требуют, чтобы файл блокировки находился в состоянии, соответствующем текущему проекту, чтобы вести себя должным образом. Эта ошибка будет сгенерирована, когда Yarn обнаружит, что ваш проект ссылается на пакет, который не указан в файле блокировки (обычно из-за того, что вы изменили поле dependencies не запустив yarn install , или из-за того, что вы добавили новую рабочую область). Запуск yarn install почти наверняка исправит именно эту ошибку.
YN0021 — WORKSPACE_NOT_FOUND
Зависимость использует workspace: диапазон, который не может быть разрешен в существующую рабочую область.
Протокол workspace: это новая функция, появившаяся в Yarn v2, которая позволяет настроить таргетинг на конкретную рабочую область текущего проекта, не рискуя когда-либо извлекать данные из других источников в случае, если рабочая область не существует. Эта ошибка как раз означает, что рабочее пространство не существует по причине, описанной в сообщении об ошибке.
YN0022 — TOO_MANY_MATCHING_WORKSPACES
Эту ошибку следует считать устаревшей и несуществующей;откройте проблему,если она у вас есть.
YN0023 — CONSTRAINTS_MISSING_DEPENDENCY
Одно из ваших рабочих пространств должно зависеть от зависимости,но не зависит.
Ограничение было введено в действие , который объявляет , что указанное рабочее пространство должно зависеть от указанного диапазона указанной зависимости. Поскольку в настоящее время этого не происходит, Yarn выдает эту ошибку при выполнении yarn constraints check . Чтобы исправить это, просто запустите yarn constraints fix которое автоматически исправит все такие ошибки.
YN0024 — CONSTRAINTS_INCOMPATIBLE_DEPENDENCY
Одно из ваших рабочих пространств должно зависеть от определенной версии зависимого компонента,но не зависит.
Ограничение было введено в действие , который объявляет , что указанное рабочее пространство должно зависеть от указанного диапазона указанной зависимости. Поскольку в настоящее время этого не происходит, Yarn выдает эту ошибку при выполнении yarn constraints check . Чтобы исправить это, просто запустите yarn constraints fix которое автоматически исправит все такие ошибки.
Одно из ваших рабочих пространств не должно зависеть от одной из зависимостей,перечисленных в списке.
Ограничение было введено в действие , который объявляет , что указанное рабочее пространство должно зависеть от указанного диапазона указанной зависимости. Поскольку в настоящее время этого не происходит, Yarn выдает эту ошибку при выполнении yarn constraints check . Чтобы исправить это, просто запустите yarn constraints fix которое автоматически исправит все такие ошибки.
YN0026 — CONSTRAINTS_INVALID_DEPENDENCY
В одном из ваших рабочих пространств указана недопустимая зависимость.
Ограничение было введено в действие, объявляющего , что указанная рабочая область , вероятно , не должно зависеть от указанной зависимости в его текущем состоянии. Поскольку это происходит в настоящее время, Yarn выдает эту ошибку при выполнении yarn constraints check . Исправление этой ошибки требует ручного вмешательства, поскольку исправление неоднозначно с точки зрения Yarn.
YN0027 — CANT_SUGGEST_RESOLUTIONS
Пряжа не может определить правильный диапазон предложений для пакетов,которые вы добавляете в свой проект.
При запуске yarn add без добавления явных диапазонов к добавляемым пакетам, Yarn попытается найти версии, соответствующие вашим намерениям. Обычно это означает, что он предпочтет рабочие области проекта и, если не сможет их найти, вместо этого попытается запросить в реестре npm список опубликованных выпусков и использовать то, что является наивысшим. Эта ошибка означает, что этот процесс завершился неудачно, и Yarn не может успешно определить, какую версию пакета следует добавить в ваш проект.
YN0028 — FROZEN_LOCKFILE_EXCEPTION
Ваш файл блокировки будет изменен,если Yarn завершит установку.
При передаче опции --immutable для yarn yarn install , Yarn гарантирует, что файл блокировки не будет изменен в процессе, и вместо этого выдаст исключение, если такая ситуация должна была произойти (например, если недавно добавленный пакет отсутствовал в файле блокировки, или если текущая версия Yarn требует некоторой миграции, прежде чем можно будет работать с файлом блокировки).
Эта опция обычно предназначена для использования на ваших CI и производственных серверах, и для исправления этой ошибки нужно просто запустить yarn install в вашей локальной среде разработки и отправить PR, содержащий обновленный файл блокировки.
YN0029 — CROSS_DRIVE_VIRTUAL_LOCAL
Этот код ошибки является устаревшим.
YN0030 — FETCH_FAILED
Этот код ошибки в настоящий момент не используется; в идеале мы хотим объяснить, почему выборка завершилась ошибкой, а не.
YN0031 — DANGEROUS_NODE_MODULES
Yarn устанавливает пакеты с помощью Plug’n’Play , но node_modules папка node_modules .
Это предупреждение node_modules когда обнаруживается, что ваш проект содержит папки node_modules, которые на самом деле кажутся содержащими пакеты. Это не рекомендуется, так как они, скорее всего, являются пережитками того менеджера пакетов, который вы использовали раньше, и могут сбить с толку ваши инструменты и привести вас к ситуациям «работает на моей машине».
YN0032 — NODE_GYP_INJECTED
В некоторых случаях Yarn может обнаружить, что node-gyp требуется node-gyp , если этот пакет явно не перечисляет зависимости. Такое поведение существует по унаследованной причине, и на него нельзя полагаться по следующим причинам:
-
Основной способ определить, требуется ли
node-gypнеявно, — это проверить, содержит ли пакет файлbindings.gyp. Однако выполнение этой проверки подразумевает, что список пакетов известен в то время, когда Yarn разрешает дерево зависимостей. Это потребовало бы получить все архивы npm как часть шага разрешения (а не ждать до выделенного шага выборки), и все это только ради этой проблемной функции. -
Неявные зависимости от
node-gypне дают никаких подсказок диспетчеру пакетов относительно того, какие версииnode-gypсовместимы с собираемым пакетом. Yarn делает все возможное, добавляя неявную зависимость отnpm:*, но это может быть неправильно, и у нас не будет возможности узнать об этом — ваши установки просто неожиданно завершатся сбоем при компиляции с несовместимыми версиями.
Пакеты, пропускающие node-gyp , обычно делают это, чтобы уменьшить количество пакетов в конечном дереве зависимостей, когда сборка пакета не требуется (предварительно созданные двоичные файлы). Это разумное желание, но это противоречит правилам диспетчера пакетов, и мы предпочли бы решить эту проблему с помощью специальной функции, а не с помощью таких хаков. А пока мы настоятельно рекомендуем рассмотреть возможность предварительной сборки собственных зависимостей через WebAssembly, если это возможно — тогда проблема node-gyp полностью исчезнет.
YN0046 — AUTOMERGE_FAILED_TO_PARSE
Эта ошибка возникает, когда в файле yarn.lock обнаруживаются маркеры конфликта Git, и один или оба отдельных файла блокировки-кандидата не могут быть проанализированы. Обычно это происходит из-за одной из этих двух ситуаций:
-
Если вы работаете над веткой с Yarn v2 и пытаетесь объединить ветку,использующую Yarn v1,возникнет эта ошибка (локфайлы v1 не являются Yaml,что не позволяет их разобрать.Даже если бы мы могли это сделать,они не содержат достаточно информации по сравнению с локфайлами v2).
- Самый простой способ исправить это — использовать
git checkout --theirs yarn.lockи выполнить повторнуюyarn install(за которой может последоватьyarn cache cleanчтобы удалить любой файл, который больше не нужен). Это приведет к повторному импорту файла блокировки v1. Разрешения v2 будут потеряны, но Yarn обнаружит их и разрешит их снова.
- Самый простой способ исправить это — использовать
-
Если у вас несколько уровней конфликтов.Yarn не поддерживает такие конфликты,и вам придется придумать способ иметь только два уровня.Обычно для этого сначала разрешают конфликты между двумя ветвями,а затем снова разрешают их на результате слияния предыдущего шага и третьей ветви.
YN0047 — AUTOMERGE_IMMUTABLE
Эта ошибка возникает, когда в файле yarn.lock обнаруживаются маркеры конфликта Git, когда Yarn выполняется в неизменяемом режиме ( yarn install --immutable ).
В этом режиме Yarn не разрешается редактировать ни один файл,даже для автоматического разрешения конфликтов.Этот режим обычно используется в CI,чтобы убедиться,что ваши проекты всегда находятся в правильном состоянии перед слиянием в ствол.
Чтобы решить эту проблему, попробуйте снова --immutable yarn install на вашем компьютере без флага —immutable , а затем зафиксируйте изменения, если команда выполнена успешно.
YN0048 — AUTOMERGE_SUCCESS
Это информационное сообщение yarn.lock файле yarn.lock были обнаружены маркеры конфликта Git, но они были автоматически исправлены Yarn. Больше делать нечего, все должно работать из коробки!
YN0049 — AUTOMERGE_REQUIRED
Это информационное сообщение yarn.lock файле yarn.lock обнаруживаются маркеры конфликта Git . Затем Yarn попытается автоматически разрешить конфликт, следуя своей внутренней эвристике.
Логика автоматического слияния довольно проста: он берет файл блокировки из вытянутой ветви, модифицирует его, добавляя информацию из локальной ветки, и снова запускает yarn install , чтобы исправить все, что могло быть потеряно в процессе.
YN0050 — DEPRECATED_CLI_SETTINGS
Эта ошибка возникает при передаче параметров команде CLI через ее аргументы (например, --cache-folder ).
Начиная с версии 2, это больше не поддерживается. Причина в том, что мы объединили всю нашу конфигурацию в одном хранилище, которое можно определить из файла yarnrc. Это гарантирует, что все ваши команды выполняются в одних и тех же средах (что раньше было не так, в зависимости от того, использовали ли вы --cache-folder для всех своих команд или только для установки). Параметры интерфейса командной строки теперь будут использоваться только для управления одноразовым поведением определенной команды (например, --verbose ).
Специальное примечание для пользователей Netlify: в настоящее время Netlify автоматически передает параметр --cache-folder в Yarn, и вы не можете его отключить. По этой причине мы решили сделать это предупреждением, а не ошибкой, когда мы обнаруживаем, что Yarn работает на Netlify (мы по-прежнему игнорируем этот флаг). Мы предлагаем проголосовать за соответствующую проблему в их репозитории, так как мы, вероятно, удалим этот особый случай в будущем крупном выпуске.
YN0059 — INVALID_RANGE_PEER_DEPENDENCY
Пакет запрашивает зависимость от сверстника,но предоставленный диапазон не является допустимым диапазоном semver.Невозможно убедиться,что предоставленный пакет соответствует запросу на зависимость от сверстника.Диапазон должен быть исправлен,чтобы предупреждение исчезло.Это не помешает разрешению,но может оставить систему в некорректном состоянии.
YN0060 — INCOMPATIBLE_PEER_DEPENDENCY
Пакет запрашивает зависимость от сверстника,но его родитель в дереве зависимостей предоставляет версию,которая не удовлетворяет диапазону зависимостей сверстника.Родитель должен быть изменен,чтобы предоставить действительную версию или обновить диапазон зависимостей от сверстников.Это не помешает разрешению,но может оставить систему в некорректном состоянии.
YN0061 — DEPRECATED_PACKAGE
Пакет помечен издателем как устаревший.Избегайте его использования,вместо него используйте альтернативу,представленную в сообщении об устаревании.
YN0062 — INCOMPATIBLE_OS
Пакет несовместим с операционной системой, как сообщает process.platform . Его установка будет пропущена.
YN0063 — INCOMPATIBLE_CPU
Пакет несовместим с архитектурой ЦП, как сообщает process.arch . Его установка будет пропущена.
YN0068 — UNUSED_PACKAGE_EXTENSION
Расширение packageExtension определяется Yarn как неиспользуемое,что означает,что селектор не соответствует ни одному из установленных пакетов.
YN0069 — REDUNDANT_PACKAGE_EXTENSION
Расширение packageExtension определяется Yarn как ненужное,что означает,что выбранные пакеты имеют одинаковое поведение с расширением и без него.
YN0071 — NM_CANT_INSTALL_EXTERNAL_SOFT_LINK
Внешняя программная ссылка (портал)не может быть установлена,поскольку в родительском пакете существует несовместимая версия зависимости.Это препятствует представлению портала при установке node_modules без необходимости записи файлов в целевой каталог портала,что запрещено по соображениям безопасности.
Обходные пути Если диапазоны конфликтующих зависимостей перекрываются между целью портала и родителем портала, обходной путь заключается в использовании yarn dedupe foo (где foo — имя конфликтующей зависимости) для обновления конфликтующих зависимостей до самых высоких доступных версий, если yarn dedupe используется без аргументов. , все зависимости в проекте будут обновлены до самых высоких версий в пределах их диапазонов в package.json . Другой альтернативой является использование протокола link: вместо portal: и явная установка зависимостей внутри целевого каталога.
YN0072 — NM_PRESERVE_SYMLINKS_REQUIRED
В проекте используется зависимость портала с подчиненными зависимостями. --preserve-symlinks Опция узла должна использоваться для запуска приложения, чтобы зависимость портала могла найти свои подчиненные и одноранговые зависимости.
YN0074 — NM_HARDLINKS_MODE_DOWNGRADED
nmMode был понижен до hardlinks-local из-за того, что глобальный кеш и установочная папка находятся на разных устройствах. Рассмотрите возможность изменения параметра globalFolder и разместите глобальный кеш на том же устройстве, что и ваш проект, если вы хотите, чтобы hardlinks-global вступили в силу.
YN0075 — PROLOG_INSTANTIATION_ERROR
Эта ошибка появляется, когда предикат Prolog вызывается с недопустимой подписью. В частности, это означает, что некоторые параметры предиката не созданы (т. Е. Не имеют определенного значения), в то время как предикат ожидал бы некоторые из них. Это не означает, что вам нужно жестко закодировать значение, просто вам нужно назначить его перед вызовом предиката. В случае параметра WorkspaceCwd из большинства предикатов Yarn это означает, что вместо вызова:
workspace_field(WorkspaceCwd, 'name', _).
Вы также можете использовать предикат workspace/1 , чтобы позволить Prolog «заполнить» параметр WorkspaceCwd перед его использованием в workspace_field/3 :
workspace(WorkspaceCwd), workspace_field(WorkspaceCwd, 'name', _).
Для получения дополнительных сведений о параметрах, которые должны быть созданы при вызове предиката, о котором сообщается в сообщении об ошибке, обратитесь к специальной странице нашей документации.
YN0076 — INCOMPATIBLE_ARCHITECTURE
Пакет указан в его манифесте (через поля os / cpu ) как несовместимый с архитектурой системы. Его сценарии после установки не будут работать в этой системе.
YN0077 — GHOST_ARCHITECTURE
Некоторые собственные пакеты могут быть исключены из установки, если они сигнализируют о том, что не поддерживают системы, для которых предназначен проект. Это определение , как правило , основано на текущих параметрах системы, но она может быть настроена с помощью supportedArchitectures параметра настройки . Если ваша ОС или ЦП отсутствуют в этом списке, Yarn пропустит пакеты и выдаст предупреждение.
Обратите внимание, что для всех полей из supportedArchitectures по умолчанию используется current , которое является динамическим значением, зависящим от ваших локальных параметров. Например, если вы хотите поддерживать «мою текущую ОС, какая бы она ни была, плюс linux», вы можете установить для supportedArchitectures.os значение ["current", "linux"] .
