Вы хотите запросить функцию или сообщить об ошибке ?
Ошибка
Каково текущее поведение?
Установка глобальных пакетов не всегда определяет лицензионное поле.
Если текущее поведение является ошибкой, предоставьте шаги для воспроизведения.
yarn global add xo
➜ agenda git:(feature/update_dev_deps) ✗ yarn global add xo
yarn global v0.27.5
warning package.json: No license field
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- xo
warning No license field
Done in 47.10s.
➜ agenda git:(feature/update_dev_deps) ✗ which xo
/usr/local/bin/xo
➜ agenda git:(feature/update_dev_deps) ✗ realpath /usr/local/bin/xo
/Users/xo/.config/yarn/global/node_modules/xo/cli.js
➜ agenda git:(feature/update_dev_deps) ✗ cat /Users/xo/.config/yarn/global/node_modules/xo/package.json | grep license
"license": "MIT",
Какое поведение ожидается?
Для его установки без предупреждения об отсутствии лицензии.
Пожалуйста, укажите ваш node.js, yarn и версию операционной системы.
Узел: v8.1.3
Пряжа: 0,27,5
ОС: macOS Sierra 10.12.3 (16D32)
Я попытался отладить это, и кажется, что yarn жалуется не на лицензию на пакет xo
, а на лицензию на пользовательский файл package.json
. Когда используется yarn global
, yarn сохраняет package.json
со всеми пакетами, которые пользователь установил глобально, перечисленными как зависимости. Прямо сейчас мой выглядит примерно так:
{
"dependencies": {
"create-react-app": "^1.3.1",
"typescript": "^2.3.2",
"xo": "^0.18.2"
}
}
Эти 3 пакета - единственные, которые я установил в своей системе глобально. Как видите, у этого файла нет лицензии, даже имени, поэтому выдается предупреждение. Возможно, функция validate
в normalize-manifest
может получить дополнительный параметр, чтобы пропустить эту проверку при запуске yarn global
.
Возможно, функция проверки в normalize-manifest может получить дополнительный параметр, чтобы пропустить эту проверку при запуске yarn global.
@bestander @arcanis Я думаю, это правильный путь. Что вы думаете?
@BYK @kaylieEB Похоже, это можно закрыть а-ля # 3921
Спасибо @olingern !
Это все еще происходит, хотя v1.2.1
странно, я получаю:
yarn install v1.2.1
warning ../package.json: No license field
но в package.json
:
"license": "MIT",
@ tony-kerz Я получил это предупреждение, когда в моем корневом каталоге Projects
находился package.json
(например, Projects/my-package
). Я должен был случайно запустить yarn
в этом каталоге один раз, но удаление этого файла привело к исчезновению предупреждений
@chrisdothtml , спасибо , чувак!
Мне нужно сохранить package.json в корне моего приложения для реагирования.
Как отключить это предупреждение в этом случае?
@realtebo Если вы не собираетесь публиковать его как пакет, вы можете просто установить "private": true
. Это должно отключить предупреждение
Спасибо, @chrisdothtml . Я это уже сделал, но ничего не меняется.
@realtebo Когда у вас есть package.json
или yarn.lock
в корне вашей системы, просто cd ~
, тогда вы можете найти package.json
& yarn.lock
. Вы должны удалить эти файлы, чтобы предупреждения исчезли.
@iTonyYo : Я больше не
Но мне понравился ваш ответ, и я вставил ссылку в свою личную панель управления, в будущем я найду ее как первый результат, прежде чем система перейдет в Google для поиска.
Проблема закрыта, но проблема не устранена. Почему yarn ищет структуру каталогов, если уже нашел файл package.json в текущем каталоге? Довольно часто проекты существуют внутри других проектов в состоянии разработки, особенно с использованием gitmodules.
Почему yarn ищет структуру каталогов, если уже нашел файл package.json в текущем каталоге?
Описанная ранее проблема заключалась в том, что в текущем каталоге iirc не было package.json. Возможно, вы захотите открыть новый выпуск (пожалуйста, с точными инструкциями по воспроизведению).
@chrisdothtml packagge.json
не следует удалять из вашего проекта, потому что, когда вы работаете с системой подрывной деятельности, пользователь, который будет клонировать ваш репозиторий, не сможет установить зависимости.
Биллал Бегерадж
@ tony-kerz Я получил это предупреждение, когда в моем корневом каталоге
Projects
находилсяpackage.json
(например,Projects/my-package
). Я должен был случайно запуститьyarn
в этом каталоге один раз, но удаление этого файла привело к исчезновению предупреждений
Это сработало отлично, я возился с установкой / переустановкой другого узла и забыл, что не убирал за собой.
@ tony-kerz Я получил это предупреждение, когда в моем корневом каталоге
Projects
находилсяpackage.json
(например,Projects/my-package
). Я должен был случайно запуститьyarn
в этом каталоге один раз, но удаление этого файла привело к исчезновению предупреждений
просто дополнительная информация, я удалил package.json и yarn.lock из родительских каталогов, каталоги не были проектами, не знаю, как они там появляются)))
Я столкнулся с такой же проблемой, т.е.
$ пряжа babel
пряжа run v1.21.1
Как мне преодолеть это?
PS C:\Users\admin\Desktop\aulinhas\chat-react> create-react-app front
Creating a new React app in C:\Users\admin\Desktop\aulinhas\chat-react\front.
warning ..\..\..\..\package.json: No license field
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...
yarn add v1.22.4
warning ..\..\..\..\package.json: No license field
...
:(
@iTonyYo Спасибо, работает.
Самый полезный комментарий
@ tony-kerz Я получил это предупреждение, когда в моем корневом каталоге
Projects
находилсяpackage.json
(например,Projects/my-package
). Я должен был случайно запуститьyarn
в этом каталоге один раз, но удаление этого файла привело к исчезновению предупреждений