Inviare un pacchetto al server

Consultare la guida Il server dei pacchetti per ulteriori dettagli sui formati dei numeri di versione consentiti.

Nota
Yak è multipiattaforma. Gli esempi che seguono sono per Windows. Per Mac, sostituire il percorso dello strumento Yak CLI con"/Applications/Rhino 8.app/Contents/Resources/bin/yak".

Autenticazione

Prima di poter inviare un pacchetto al server, è necessario autorizzare lo strumento Yak CLI usando l’account Rhino.

> "C:\Program Files\Rhino 8\System\Yak.exe" login

Si aprirà una scheda del browser che vi chiederà di accedere a Rhino Accounts (sempre che non sia stato già effettuato l’accesso). La finestra successiva chiederà di fornire a “Yak” l’accesso all’account.

  • Visualizzare le informazioni personali Questo ambito viene utilizzato per recuperare il nome, la località e l’immagine del profilo. Queste informazioni saranno utilizzate in futuro, quando il database dei pacchetti avrà un’interfaccia grafica.

  • Verificare l’identità Utilizzato per l’autenticazione quando si interroga la proprietà di un pacchetto.

  • Visualizzare l’indirizzo e-mail L’indirizzo e-mail principale viene memorizzato in modo da poter essere aggiunto come proprietario di pacchetti pubblicati da altri.

Una volta accettata, la finestra del browser si chiuderà da sola. Yak ha recuperato un token OAuth da Rhino Accounts e lo ha memorizzato sul computer.

  • Mac - ~/.mcneel/yak.yml
  • Windows - %APPDATA%\McNeel\yak.yml
Nota
Per sicurezza, il token OAuth è valido solo per un periodo di tempo limitato. Lo strumento Yak CLI richiede un nuovo accesso dopo circa 30 giorni.

Invio

Ora che si è effettuato l’accesso, è possibile inviare un pacchetto al server. Useremo il pacchetto creato nel file

guida precedente come esempio.

> "C:\Program Files\Rhino 8\System\Yak.exe" push marmoset-1.0.0-rh6_18-any.yak

Questo comando non restituisce nessun output anche se si esegue correttamente..

Possiamo controllare che il pacchetto sia stato inviato correttamente eseguendo una ricerca. Dovrebbe apparire il nome e il numero di versione del pacchetto appena inviato. 🤞

> "C:\Program Files\Rhino 8\System\Yak.exe" search --all --prerelease marmoset

marmoset (1.0.0)
Nota

Se è la prima volta, perché non provare a inviare il file al server di prova?

"C:\Program Files\Rhino 8\System\Yak.exe" push --source https://test.yak.rhino3d.com marmoset-1.0.0-rh6_18-any.yak

"C:\Program Files\Rhino 8\System\Yak.exe" search --source https://test.yak.rhino3d.com --all --prerelease marmoset

marmoset (1.0.0)

Questo server viene ripulito ogni sera.

Risoluzione dei problemi

Ci sono alcuni motivi per cui l’invio di un pacchetto potrebbe non funzionare.

  • Invalid manifest.yml

    Il messaggio di errore dovrebbe essere autoesplicativo. Correggiamo e riproviamo! Si può anche provare a convalidare la sintassi YAML stessa con un’opzione

    linter._

  • Il nome del pacchetto esiste già, ma non siamo un proprietario.

    Solo i proprietari dei pacchetti sono autorizzati a inviare nuove versioni dei loro pacchetti. Quando un utente invia la prima versione di un pacchetto, ne diventa proprietario. È possibile aggiungere altri proprietari con il comando _owner.

  • La versione del pacchetto esiste già.

    Per evitare di disturbare gli altri che stanno usando uno dei pacchetti, non è possibile cancellare o sovrascrivere le versioni. Date il numero di versione e informare gli utenti che c’è qualcosa di nuovo da provare!

  • Invio erroneo di contenuti.

    Usare il comando yank per escludere dall’elenco una versione specifica.