Yarn: ОШИБКА: Нет сценариев; должен быть хотя бы один.

Созданный на 2 мар. 2017  ·  35Комментарии  ·  Источник: yarnpkg/yarn

я хочу использовать «пряжу» в моем проекте npm
при запуске оболочки " пряжа " в оболочке,
он выдает « ОШИБКА: сценариев нет; должен быть хотя бы один».

какая проблема?

пряжа --версия
0,27
узел -v
v6.9.5
uname -а
Linux wfx-pc 4.4.0-3-deepin-amd64 #1 SMP Deepin 4.4.30-2 (2016-12-01) x86_64 GNU/Linux

Самый полезный комментарий

У вас неправильный yarn 😄 Выполняемый вами Yarn взят из пакета cmdtest : http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. HTML. Удаление cmdtest должно исправить это. После удаления следуйте инструкциям на https://yarnpkg.com/en/docs/install#linux -tab, чтобы добавить репозиторий 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 update
sudo apt install yarn

Все 35 Комментарий

@wangfaxi1985 , проверьте еще раз вашу версию yarn , последняя версия 0.21.3 , а версия с тегом 0.22.0-0 .
Также убедитесь, что вы запускаете команду yarn в папке, где находится ваш package.json
Спасибо

У вас неправильный yarn 😄 Выполняемый вами Yarn взят из пакета cmdtest : http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. HTML. Удаление cmdtest должно исправить это. После удаления следуйте инструкциям на https://yarnpkg.com/en/docs/install#linux -tab, чтобы добавить репозиторий 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 update
sudo apt install yarn

cmdtest , по-видимому, установлен по умолчанию, по крайней мере, в Ubuntu 17.04, поэтому, возможно, это следует добавить в инструкции по установке...

Для тех, кто найдет это, если вы получаете сообщение об ошибке на sudo apt-get install yarn #$, сначала запустите sudo apt remove cmdtest .

В Ubuntu (не ниже 17.04) после sudo apt remove cmdtest сначала перейдите по ссылке https://yarnpkg.com/en/docs/install#linux-tab > Ubuntu. Только тогда sudo apt-get install yarn . Если вы не следуете https://yarnpkg.com/en/docs/install#linux -tab, запуск sudo apt-get install yarn приведет к повторной установке cmdtest .

В Ubuntu 17.10 я не могу установить пряжу — я удалил пакет cmdtest , но sudo apt-get install yarn переустановил cmdtest .

@istals У меня та же проблема, что и у тебя. cmdtest все еще установлен, даже если я сначала удалю его. Как получить пряжу в Ubuntu 17.10?

Для Ubuntu 17.10 попробуйте обходной путь:

sudo apt remove cmdtest
sudo apt install npm
sudo npm install -g yarn

Для Ubuntu 17.10 вам нужно сначала добавить репозиторий 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 update
sudo apt remove cmdtest
sudo apt install yarn

Убедитесь, что вы удалили cmdtest, если он у вас установлен.

Предпочитайте это установке через npm.

@jdorleans - вам не нужно устанавливать npm, если вы используете Yarn :)

@jdorleans Спасибо за ваш комментарий. Я успешно установил пряжу, используя npm install -g yarn .

Ubuntu: давайте назовем двоичный файл пакета node nodejs , но также пусть двоичный файл cmdtest будет yarn

Это было бы намного проще, если бы вместо того, чтобы устанавливать его как root, он был бы установлен в пользовательском пространстве.

@cserpell Вы можете сделать это, если хотите. Вы можете использовать скрипт установки или просто скачать архив Yarn и распаковать его куда хотите. Подробности есть на сайте. Несмотря на это, у вас все еще будет проблема с несколькими разными двоичными файлами yarn , если у вас установлен cmdtest .

@sheerun Честно говоря, cmdtest сначала использовал команду yarn , еще до того, как Yarn появился.

@ Daniel15 Я так и сделал, особенно потому, что не могу устанавливать программы там, где работаю. Хитрость заключается в том, чтобы просто заменить любой установленный двоичный файл моим собственным каталогом bin .

У меня была такая же проблема в Ubuntu 18.04, однако я смог исправить ее с помощью следующих команд:

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 update
sudo apt install yarn

@ Daniel15 Я следовал вашим инструкциям в предыдущем комментарии и попытался снова переустановить пряжу.

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-ключ добавить -
echo "deb https://dl.yarnpkg.com/debian/ стабильная основная" | sudo тройник /etc/apt/sources.list.d/yarn.list
судо подходящее обновление
sudo apt установить пряжу

после проверки версии я обнаружил, что версия 1.5.1
Это нормально? Или я сделал что-то не так.
Также это создаст какие-либо проблемы, если я удалю cmdtest и все его зависимости?

@Nazarah - верно, 1.5.1 - последняя стабильная версия. Если вы хотите получить 1.6.0, вам нужно вместо этого добавить репозиторий RC (замените «стабильный» на «rc» в /etc/apt/sources.list.d/yarn.list )

@Daniel15
удаление cmdtest и зависимостей и установка yarn.txt

1-й текстовый файл показывает результаты команд от удаления cmdtest и всех его зависимостей до использования предложенных вами команд для установки пряжи.

установка пряжи fresh.txt

эти файлы показывают, когда я пытался запустить пряжу из дома

Я отредактировал свой комментарий, потому что понял, что 1.5.1 это последняя версия Yarn :)

Спасибо за ваш отзыв. :D

@OmerHerera

Также убедитесь, что вы запускаете команду yarn в папке, где находится ваш package.json.

Вы имеете в виду package.json для masterarm?

@becdetat У меня установлена ​​Ubuntu 17.04, но когда я набираю yarn --version после установки пряжи в соответствии с рекомендациями, я получаю это как сообщение « yarn » is not installed yet.You can install by typing : sudo apt install cmdtest . Затем я запускаю sudo apt install cmdtest , но это не удалось.

@florianeBhz Сначала вам нужно добавить репозиторий 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: https://yarnpkg.com/en/docs/install#debian -stable

Для вашего пакета Debian рассмотрите возможность конфликта с cmdtest в debian/control ; добавить отклонение в случае, если исполняемый файл cmdtest уже существует; используйте шаблон update-alternatives , описанный здесь: https://wiki.debian.org/DebianAlternatives

; используйте шаблон update-alternatives, описанный здесь: wiki.debian.org/DebianAlternatives

Альтернативы нужны, когда у вас есть несколько разных приложений, которые делают одно и то же. Это не для решения конфликтов имен.

Сказав это, добавление конфликта с cmdtest кажется разумным. Мы можем это сделать!

В качестве побочного комментария: разработчики Ubuntu, похоже, считали, что когда пользователь вводит apt-get install foo , если foo не существует, но есть команда с таким именем, предоставленная пакетом bar , тогда лучше установить пакет bar практически незаметно.

$ sudo apt-get install yarn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'cmdtest' instead of 'yarn'
[...]
$ dpkg -S bin/yarn
cmdtest: /usr/bin/yarn

Я лично думаю, что это один из тех случаев, когда люди думают, что реализация менее строгого поведения облегчит жизнь людей, но на самом деле просто усложняет ситуацию, потому что вносит случайность (например, этот вопрос).

Просто используйте nvm, чтобы использовать npm для установки пряжи...

sudo apt remove cmdtest
sudo apt remove yarn
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
nvm install node -lts
npm install -g yarn
yarn --version
1.12.3

Добро пожаловать 🌮

@shawnolson-fp - люди не должны доверять случайному сценарию для установки NVM. Разве нет официального метода, который вы можете процитировать вместо того, чтобы распространять шаблон небезопасной установки? Спасибо!

https://github.com/creationix/nvm — официальный проект на Github. Это буквально тот, кто его создал. Я не знаю более безопасного способа сделать это. Альтернативой было бы использование PPA, который указывал бы на nodesource.com... я знаю только два способа.

@shawnolson-fp - это не решит проблему, указанную в этом
проблема. Проблема в том, что другое приложение, предоставляющее команду «пряжа»,
установлено. Единственный правильный способ исправить это - либо удалить
другое приложение или удаление его из вашего $PATH. Вы можете изменить порядок
ваш $PATH вместо этого, но наличие двух приложений, предоставляющих одну и ту же команду, может
быть довольно запутанным в любом случае.

Отправлено с моего телефона.

Во вторник, 13 ноября 2018 г., 13:24 Бенджамин Бах < [email protected] написал:

@shawnolson-fp https://github.com/shawnolson-fp — люди не должны
доверьтесь случайному сценарию для установки NVM. Разве нет официального метода, который
можно процитировать вместо выкладывания схемы небезопасной установки? Спасибо!


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/yarnpkg/yarn/issues/2821#issuecomment-438442528 или отключить звук
нить
https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p
.

@shawnolson-fp - это не решит проблему, указанную в этом выпуске. Проблема в том, что установлено другое приложение, предоставляющее команду «yarn». Единственный правильный способ исправить это — либо удалить другое приложение, либо удалить его из вашего $ PATH. Вместо этого вы можете изменить порядок $PATH, но в любом случае наличие двух приложений, предоставляющих одну и ту же команду, может быть довольно запутанным. Отправлено с моего телефона.

Вт, 13 ноября 2018 г., 13:24 Бенджамин Бах @ . * написал: @shawnolson-fp https://github.com/shawnolson-fp — люди не должны доверять случайному сценарию для установки NVM. Разве нет официального метода, который вы можете процитировать вместо того, чтобы распространять шаблон небезопасной установки? Спасибо! — Вы получаете это, потому что вас упомянули. Ответьте на это письмо напрямую, просмотрите его на GitHub < # 2821 (комментарий) > или отключите звук в ветке https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p .

Я понимаю проблему, но, как вы сказали, это слишком проблематично для большинства людей, которые просто хотят, чтобы пряжа работала. Почему Debian решил выбрать cmdtest вместо пряжи, вот в чем проблема. Я просто предоставляю альтернативный способ установки пряжи и npm в том же $PATH, что и nvm — довольно приятный пакет, если вы спросите меня…

И пока проблема не будет устранена, мало кто захочет возиться с переменными среды, чтобы решить то, что кажется таким простым.

@shawnolson-fp, ха-ха, да, я заметил, что curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash на самом деле является официальной инструкцией по установке, и удалил свой комментарий. Но я в шоке. ПОТРЯСЕННЫЙ!

Кроме того, _Просто используйте nvm, чтобы использовать npm для установки пряжи ......_ жестокий жестокий мир. Я надеюсь, что все дважды подумают, прежде чем делать это, чтобы получить left-pad или что-то в этом роде.

Кстати. большинство проблем Debian решаются с помощью этого. За исключением того, что официальный пакет все еще кажется недосягаемым.

Я бы точно не пошел с вашей выкройкой, она слишком сложная.

Почему Debian решил выбрать cmdtest вместо пряжи, вот в чем проблема.

Укажите пальцем на yarn . Их предупредили, что это имя пакета было взято до их публичного запуска, и они получили информацию от разработчиков пакетов Debian, пытающихся решить эту проблему. В настоящее время предпринимаются усилия по созданию пакета, чтобы официальный выпуск мог быть в Debian и последующих дистрибутивах, таких как Ubuntu.

@ Daniel15 , просматривая эту проблему, кажется достаточно безопасным, чтобы закрыть + заморозить с последним примечанием о чтении документации? Кажется, что сохранение его открытым приводит к нежелательным обходным путям?

Ссылки на текущую работу Debian:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843021
https://salsa.debian.org/js-team/node-yarnpkg

@benjaoming lol - я этого не знал, чувак, какой беспорядок!

Я сочувствую обеим сторонам, потому что ИМО Debian и Yarn оба лучшие в том, что они есть, так что я разрываюсь 😢
Вы могли бы подумать, что может быть простая подсказка при установке: which yarn would you like to install @facebook/yarn or cmdtest/yarn?

На этом этапе большинство людей, вероятно, просто скажут $# и будут использовать npm. 😩

@facebook/yarn

Не имеет отношения к рассматриваемой проблеме, но Yarn — это проект сообщества, а не Facebook — это будет @yarnpkg/yarn 🙂

@arcanis, лол, это был просто пример 😋... здесь так буквально, ха!

просматривая эту проблему, кажется достаточно безопасным, чтобы закрыть + заморозить с последним примечанием о чтении документации?

Хорошая идея. Я собираюсь заблокировать это, так как здесь происходит много несвязанных (но ценных!) дискуссий. Не стесняйтесь создавать отдельные темы, если есть что обсудить. Тем временем удалите cmdtest , если хотите использовать Yarn. Пакет Yarn Debian «конфликтует» с cmdtest, поэтому он должен предупредить вас об этом.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги