eu quero usar "yarn" no meu projeto npm
ao executar shell " yarn " no shell,
ele lança " ERRO: Não há cenários; deve ter pelo menos um. "
que problema?
fio --versão
0,27
nó -v
v6.9.5
uname -a
Linux wfx-pc 4.4.0-3-deepin-amd64 #1 SMP Deepin 4.4.30-2 (2016-12-01) x86_64 GNU/Linux
@wangfaxi1985 , verifique novamente sua versão yarn
, a versão mais recente é 0.21.3
e a versão marcada é 0.22.0-0
.
Verifique também se você executou o comando yarn
na pasta onde seu package.json
está localizado
Obrigado
Você tem o yarn
errado 😄 O Yarn que você está executando vem do pacote cmdtest
: http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. html. Desinstalar cmdtest
deve corrigir isso. Depois de desinstalá-lo, siga as instruções em https://yarnpkg.com/en/docs/install#linux -tab para adicionar o repositório do 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
parece estar instalado por padrão no Ubuntu 17.04, pelo menos, então talvez isso deva ser adicionado às instruções de instalação ...
Para qualquer um que encontrar isso, se você estiver recebendo um erro em sudo apt-get install yarn
execute sudo apt remove cmdtest
primeiro.
No Ubuntu (pelo menos 17.04), depois de sudo apt remove cmdtest
, primeiro siga https://yarnpkg.com/en/docs/install#linux-tab > Ubuntu. Só então sudo apt-get install yarn
. Se você não seguir https://yarnpkg.com/en/docs/install#linux -tab, executar sudo apt-get install yarn
instalará cmdtest
novamente.
No Ubuntu 17.10, não consigo instalar o yarn - removi o pacote cmdtest
, mas sudo apt-get install yarn
reinstalei cmdtest
.
@istals eu tenho o mesmo problema que você. O cmdtest ainda está instalado, mesmo que eu o remova primeiro. Como obtenho fios no Ubuntu 17.10?
Para o Ubuntu 17.10, tente a solução alternativa:
sudo apt remove cmdtest
sudo apt install npm
sudo npm install -g yarn
Para o Ubuntu 17.10, você precisa adicionar o repositório Yarn primeiro.
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
Certifique-se de remover o cmdtest se você o tiver instalado.
Prefira isso a instalar via npm.
@jdorleans - você não precisa instalar o npm se estiver usando o Yarn :)
@jdorleans Obrigado pelo seu comentário. Eu instalei com sucesso o fio usando npm install -g yarn
.
Ubuntu: vamos nomear binário do pacote $ node
nodejs
, mas também deixar cmdtest
binário ser yarn
Isso seria muito mais fácil se, em vez de instalá-lo como root, ele fosse instalado no espaço do usuário.
@cserpell Você pode fazer isso se quiser. Há um script de instalação que você pode usar, ou você pode simplesmente baixar o tarball do Yarn e extraí-lo onde quiser. Os detalhes estão no site. Independentemente disso, você ainda terá o problema de ter vários binários diferentes de yarn
se tiver cmdtest
instalado.
@sheerun Para ser justo, cmdtest
usou o comando yarn
primeiro, antes mesmo do Yarn existir.
@Daniel15 Foi o que fiz, principalmente porque não consigo instalar programas onde estou trabalhando. O truque é apenas substituir qualquer binário instalado com meu próprio diretório bin
.
Eu estava tendo o mesmo problema no Ubuntu 18.04, mas consegui corrigir usando os seguintes comandos:
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 Segui suas instruções no comentário anterior e tentei reinstalar o fio novamente.
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 instalar fio
depois de verificar a versão, descobri que a versão era 1.5.1
Está tudo bem? Ou fiz algo errado.
Também criaria algum problema se eu desinstalar o cmdtest e todas as suas dependências?
@Nazarah - Isso mesmo, 1.5.1 é a versão estável mais recente. Se você deseja obter o 1.6.0, precisa adicionar o repositório RC (substitua "stable" por "rc" em /etc/apt/sources.list.d/yarn.list
)
@Daniel15
desinstalando cmdtest e dependência e instalando yarn.txt
O primeiro arquivo de texto mostra os resultados da vírgula da desinstalação do cmdtest e de todas as suas dependências até usar os comandos sugeridos para instalar o yarn
este arquivo mostra quando tentei executar o fio de casa
Editei meu comentário porque percebi que 1.5.1 é a versão mais recente do Yarn :)
Obrigado pelo seu feedback! :D
@OmerHerera
Verifique também se você executou o comando yarn na pasta onde seu package.json está localizado
Você quer dizer package.json para mastarm?
@becdetat Eu tenho o Ubuntu 17.04 instalado, mas quando digito yarn --version
depois de instalar o yarn conforme recomendado, recebi isso como mensagem
« yarn » is not installed yet.You can install by typing :
sudo apt install cmdtest
. Então eu corro sudo apt install cmdtest
mas falhou.
@florianeBhz Você precisa adicionar o repositório Yarn primeiro:
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
Então você pode sudo apt-get update && sudo apt-get install yarn
Mais detalhes no site do Yarn: https://yarnpkg.com/en/docs/install#debian -stable
Para o seu pacote Debian, considere entrar em conflito com cmdtest
no debian/control
; adicione um desvio caso o executável cmdtest
já exista; use o padrão update-alternatives
descrito aqui: https://wiki.debian.org/DebianAlternatives
; use o padrão update-alternatives descrito aqui: wiki.debian.org/DebianAlternatives
As alternativas são para quando você tem vários aplicativos diferentes que fazem a mesma coisa. Não é para lidar com conflitos de nomenclatura.
Dito isso, adicionar um conflito com cmdtest parece razoável. Nós podemos fazer isso!
Como um comentário lateral: os desenvolvedores do Ubuntu pareciam considerar que quando o usuário digita apt-get install foo
, se foo
não existe, mas há um comando com esse nome fornecido pelo pacote bar
, então é uma boa idéia instalar quase silenciosamente o pacote 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
Pessoalmente, acho que é um daqueles casos em que as pessoas pensam que implementar um comportamento menos rigoroso facilitará a vida das pessoas, mas na verdade apenas complica as coisas porque introduz aleatoriedade (por exemplo, esse problema).
Basta usar o nvm para usar o npm para instalar o fio ...
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
De nada
@shawnolson-fp - as pessoas não devem confiar em um script aleatório para instalar o NVM. Não existe um método oficial que você possa citar em vez de espalhar um padrão de instalação inseguro? Obrigado!
https://github.com/creationix/nvm é o projeto oficial no Github. É literalmente quem o criou. Não conheço uma forma mais segura de fazer isso. A alternativa seria usar o PPA que apontaria para nodesource.com ... apenas duas maneiras que eu conheço.
@shawnolson-fp - isso não resolverá o problema listado neste
questão. O problema é que um aplicativo diferente que fornece um comando "fio"
está instalado. A única maneira adequada de corrigir isso é desinstalando
o outro aplicativo ou removê-lo do seu $PATH. Você pode alterar a ordem de
seu $PATH, mas ter dois aplicativos que fornecem o mesmo comando pode
ser bem confuso de qualquer maneira.
Enviado do meu telefone.
Em terça-feira, 13 de novembro de 2018, 13h24, Benjamin Bach < [email protected] escreveu:
@shawnolson-fp https://github.com/shawnolson-fp - as pessoas não deveriam
confie em um script aleatório para instalar o NVM. Não existe um método oficial que
você pode citar em vez de espalhar um padrão de instalação inseguro? Obrigado!—
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/yarnpkg/yarn/issues/2821#issuecomment-438442528 ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p
.
@shawnolson-fp - isso não resolverá o problema listado nesta edição. O problema é que um aplicativo diferente que fornece um comando "yarn" está instalado. A única maneira adequada de corrigir isso é desinstalar o outro aplicativo ou removê-lo do seu $PATH. Você pode alterar a ordem do seu $PATH, mas ter dois aplicativos que fornecem o mesmo comando pode ser bastante confuso de qualquer maneira. Enviado do meu telefone.
…
Na terça-feira, 13 de novembro de 2018, 13h24 Benjamin Bach @ . * escreveu: @shawnolson-fp https://github.com/shawnolson-fp - as pessoas não devem confiar em um script aleatório para instalar o NVM. Não existe um método oficial que você possa citar em vez de espalhar um padrão de instalação inseguro? Obrigado! — Você está recebendo isso porque foi mencionado. Responda a este e-mail diretamente, visualize-o no GitHub < #2821 (comentário) > ou silencie o tópico https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p .
Eu entendo o problema, mas como você disse, a maneira de contornar isso é muito difícil para a maioria das pessoas que querem apenas que o fio funcione. Por que diabos o Debian decidiu escolher cmdtest em vez de yarn é qual é o problema. Estou simplesmente fornecendo uma maneira alternativa de instalar o yarn e o npm no mesmo $ PATH que o nvm - Um pacote bem legal se você me perguntar ...
E até que o problema seja corrigido, poucas pessoas vão querer mexer com variáveis de ambiente para resolver algo que parece tão simples.
@shawnolson-fp haha, sim, notei que curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
era na verdade a instrução oficial de instalação e excluí meu comentário. Mas estou chocado. CHOCADO!
Além disso, _Basta usar o nvm para usar o npm para instalar o fio ......_ mundo cruel cruel. Espero que todos pensem duas vezes antes de fazer isso para ganhar left-pad
ou algo assim.
Por falar nisso. a maioria dos problemas do Debian são resolvidos girando isso. Exceto que ter um pacote oficial ainda parece um pouco fora de alcance.
Eu definitivamente não iria com o seu padrão, é muito complicado.
Por que diabos o Debian decidiu escolher cmdtest em vez de yarn é qual é o problema.
Aponte o dedo para yarn
. Eles foram avisados de que este nome de pacote foi usado antes de seu lançamento público e tiveram entradas de pessoas de empacotamento do Debian tentando resolver isso ainda. Há um esforço atual para criar um pacote em andamento para que um lançamento oficial possa ser no Debian e em dists downstream, como o Ubuntu.
@Daniel15 analisando esse problema, parece seguro o suficiente para fechar + congelar com uma nota final sobre a leitura da documentação? Parece que mantê-lo aberto gera soluções alternativas indesejáveis?
Referências para o trabalho em andamento do Debian:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843021
https://salsa.debian.org/js-team/node-yarnpkg
@benjaoming lol - isso é algo que eu não sabia, cara, que bagunça!
Eu sinto pelos dois lados, porque IMO Debian e Yarn são os melhores no que são, então estou dividido 😢
Você pensaria que talvez um prompt simples na instalação: which yarn would you like to install @facebook/yarn or cmdtest/yarn?
Neste ponto, a maioria das pessoas provavelmente apenas dirá $# e usará npm. 😩
@facebook/yarn
Não relacionado ao problema em questão, mas o Yarn é um projeto da comunidade, não do Facebook - seria @yarnpkg/yarn
🙂
@arcanis lol foi só um exemplo 😋... tão literal aqui, ha!
analisando esse problema, parece seguro o suficiente para fechar + congelar com uma nota final sobre a leitura da documentação?
Boa ideia. Vou bloquear isso porque muitas discussões não relacionadas (mas valiosas!) estão acontecendo aqui. Sinta-se à vontade para criar questões separadas se houver algo para discutir. Enquanto isso, desinstale cmdtest
se quiser usar o Yarn. O pacote Yarn Debian "conflita" com cmdtest, então ele deve avisá-lo sobre isso.
Comentários muito úteis
Você tem o
yarn
errado 😄 O Yarn que você está executando vem do pacotecmdtest
: http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. html. Desinstalarcmdtest
deve corrigir isso. Depois de desinstalá-lo, siga as instruções em https://yarnpkg.com/en/docs/install#linux -tab para adicionar o repositório do Yarn: