faretesto > comp.www.* > comp.www.php

Fabio Set (08.01.2018, 11:53)
Buongiorno, la mia domanda non riguarda proprio php, siccome non trovo
un posto più adatto...

Dunque, ho un nas della Synology e seguendo questa guida

ho creato un repository (/volume1/git/test).

Quindi uscendo dal terminale ssh e tornando sul mio computer, provo se
funziona:

$ git clone nas:/volume1/git/test
Cloning into 'test'...
warning: Sembra che tu abbia clonato un repository vuoto.
Checking connectivity... fatto.

Tutto ok, però invece di clonare, vorrei scaricare il package tramite
composer.

Quindi prima di tutto preparo il file composer.json:

{
"name": "test/test",
"version": "1.1.1"
}

Poi do alcuni comandi:

$ git add .
$ git commit -m test-commit
$ git push origin master

Quindi ho appena spinto il repo sul server con tutte le modifiche!!!

Adesso, come già accennato, voglio provare ad importare tale repo in un
nuovo progetto:

$ mkdir /tmp/new-proj
$ cd /tmp/new-proj

Creo il solito composer.json:

{
"require": {
"test/test": "*"
},
"repositories": {
"test/test": {
"type": "vcs",
"url": "nas:/volume1/git/test"
}
}
}

Quindi do il comando:

$ composer update
You are running composer with xdebug enabled. This has a major impact on
runtime performance. See
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested package test/test could not be found in any
version, there may be a typo in the package name.

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to
your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for
more details.

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for
further common problems.

Come vedete c'è qualcosa che non va.
Perchè?
Alessandro Pellizzari (08.01.2018, 12:03)
On 08/01/2018 09:53, Fabio Set wrote:

> Creo il solito composer.json:
> {
>     "require": {
>         "test/test": "*"
>     },
>     "repositories": {
>         "test/test": {
>             "type": "vcs",
>             "url": "nas:/volume1/git/test"


> Come vedete c'è qualcosa che non va.
> Perchè?


Senza indagare troppo nella documentazione di composer, sono al 99%
sicuro che non supporti un protocollo di nome "nas:"

La cosa più semplice (se possibile) sarebbe di esportare il repo in http
o https dal NAS, in modo da accederci come

Altrimenti (forse) dovresti montare in locale il volume del NAS e poi
accererci come /mnt/qualcosa/git/test

Bye.
Fabio Set (08.01.2018, 12:47)
Il 08/01/2018 11:03, Alessandro Pellizzari ha scritto:
> Senza indagare troppo nella documentazione di composer, sono al 99%
> sicuro che non supporti un protocollo di nome "nas:"




nas dovrebbe essere considerato il nome del server (non il protocollo);
al suo posto potrei anche indicare il rispettivo IP (192.168.1.120).

> La cosa più semplice (se possibile) sarebbe di esportare il repo in http
> o https dal NAS, in modo da accederci come


In che modo?

> Altrimenti (forse) dovresti montare in locale il volume del NAS e poi
> accererci come /mnt/qualcosa/git/test


Si, ma lo vorrei evitare.
Voglio in pratica scaricare il pacchetto da qualunque computer, senza
grandi complicazioni.
Già c'è chi si annoia solo ad impostare che il composer.json, figurati
se gli parlassi di montaggi, file-system, ecc.
Leonardo Serni (08.01.2018, 15:11)
On Mon, 8 Jan 2018 11:47:36 +0100, Fabio Set <ilfab> wrote:

>> Senza indagare troppo nella documentazione di composer, sono al 99%
>> sicuro che non supporti un protocollo di nome "nas:"


>


>nas dovrebbe essere considerato il nome del server (non il protocollo);
>al suo posto potrei anche indicare il rispettivo IP (192.168.1.120).


Allora

Sempre se "nas" è risolto sul PC di origine.

Leonardo
Fabio Set (08.01.2018, 15:25)
Il 08/01/2018 14:11, Leonardo Serni ha scritto:
> On Mon, 8 Jan 2018 11:47:36 +0100, Fabio Set <ilfab> wrote:
> Allora
> Sempre se "nas" è risolto sul PC di origine.


Impossibile trovare la pagina ricercata.

Ma io vorrei sapere almeno se è una cosa che si può fare o non si può fare?
Questo git-server della Synology serve a qualcosa o non serve a niente?
Leonardo Serni (08.01.2018, 18:25)
On Mon, 8 Jan 2018 14:25:45 +0100, Fabio Set <ilfab> wrote:

>>> nas dovrebbe essere considerato il nome del server (non il protocollo);
>>> al suo posto potrei anche indicare il rispettivo IP (192.168.1.120).


>> Allora


>> Sempre se "nas" è risolto sul PC di origine.


>Impossibile trovare la pagina ricercata.


Allora sul tuo computer "nas" è risolto, ma sul computer dove stai facendo la
prova non lo è. O forse usa HTTP anziché HTTPS.

Prova con



>Ma io vorrei sapere almeno se è una cosa che si può fare o non si può fare?


Sì, si può. E, se configuri correttamente il router, puoi farlo perfino da PC
in giro per il mondo (ti servirà l'app per dynamic-dns).

Io lo uso con altri protocolli, ma mi stupirebbe se il git non funzionasse.

Leonardo
Alessandro Pellizzari (08.01.2018, 18:45)
On 08/01/2018 13:25, Fabio Set wrote:

> Ma io vorrei sapere almeno se è una cosa che si può fare o non si può fare?
> Questo git-server della Synology serve a qualcosa o non serve a niente?


Onestamente non conosco il Synology, ma git di suo non ha un protocollo
di rete. Si appoggia a ssh (con permessi di push e pull) o a https (solo
pull, che è quello che interessa a te), quindi se il router ti mette a
disposizione un "server git" significa che deve esporlo con uno o
entrambi quei due protocolli.

Devi semplicemente leggerti la documentazione e vedere cosa dicono.

Se sei riuscito a fare il push significa che almeno ssh funziona, quindi
puoi provare a usare lo stesso URL anche per composer.

Vedi cosa ti dice un "git remote -v" dentro la libreria. Se è qualcosa
tipo "git/progetto.git" ti basta metterci
"ssh://git/progetto.git", ma probabilmente potrai fare il
pull solo da macchine che hanno le chiavi ssh corrette.

Bye.
Fabio Set (08.01.2018, 18:50)
Il 08/01/2018 17:25, Leonardo Serni ha scritto:
> On Mon, 8 Jan 2018 14:25:45 +0100, Fabio Set <ilfab> wrote:
> Allora sul tuo computer "nas" è risolto, ma sul computer dove stai facendo la
> prova non lo è. O forse usa HTTP anziché HTTPS.


Non ho capito
> Prova con
>


La pagina richiesta non è stata trovata.

E ci credo, corrisponde alla directory /volume1/web, e quindi
non va certo a cercare nella dir / (root).

>> Ma io vorrei sapere almeno se è una cosa che si può fare o non si può fare?

> Sì, si può. E, se configuri correttamente il router, puoi farlo perfino da PC


C'entra anche il router?

> in giro per il mondo (ti servirà l'app per dynamic-dns).


Già non funziona nella lan, non spingiamoci così lontano.
Una cosa alla volta :)

> Io lo uso con altri protocolli, ma mi stupirebbe se il git non funzionasse.


Cioè?
Fabio Set (08.01.2018, 19:30)
Il 08/01/2018 17:45, Alessandro Pellizzari ha scritto:
> On 08/01/2018 13:25, Fabio Set wrote:
> Onestamente non conosco il Synology, ma git di suo non ha un protocollo
> di rete. Si appoggia a ssh (con permessi di push e pull) o a https (solo
> pull, che è quello che interessa a te), quindi se il router ti mette a
> disposizione un "server git" significa che deve esporlo con uno o
> entrambi quei due protocolli.


Ma stai parlando del router per collegarmi a internet?

> Devi semplicemente leggerti la documentazione e vedere cosa dicono.


NO.
Ho già fatto mille ricerche su internet, ma senza venirne a capo: ognuno
ha la sua soluzione (che non funziona), per carità.

> Se sei riuscito a fare il push significa che almeno ssh funziona, quindi


Certo, con rsync funziona benissimo.

> puoi provare a usare lo stesso URL anche per composer.


Scusa l'ignoranza, ma quale sarebbe l'url?

> Vedi cosa ti dice un "git remote -v" dentro la libreria. Se è qualcosa
> tipo "git/progetto.git" ti basta metterci
> "ssh://git/progetto.git", ma probabilmente potrai fare il
> pull solo da macchine che hanno le chiavi ssh corrette.


rino@comex:~$ ssh admin@nas
admin@nas's password:
admin@nas:~$ cd /volume1/git/test/
admin@nas:/volume1/git/test$ git remote -v

Non dice niente, ma forse hai ragione, devo specificare da qualche parte
in composer il file della chiave rsa.
Naturalmente ho dato il comando ssh-add per sbloccare la chiave
(digitando l'apposita passphrase), ma forse non basta.
Alessandro Pellizzari (09.01.2018, 12:15)
On 08/01/2018 17:30, Fabio Set wrote:

> Il 08/01/2018 17:45, Alessandro Pellizzari ha scritto:


>> Onestamente non conosco il Synology, ma git di suo non ha un
>> protocollo di rete. Si appoggia a ssh (con permessi di push e pull) o
>> a https (solo pull, che è quello che interessa a te), quindi se il
>> router ti mette a disposizione un "server git" significa che deve
>> esporlo con uno o entrambi quei due protocolli.


> Ma stai parlando del router per collegarmi a internet?


Scusa, ho scritto router. Intendevo NAS. Il Synology, appunto.

>> Se sei riuscito a fare il push significa che almeno ssh funziona, quindi

> Certo, con rsync funziona benissimo.


Onestamente non capisco come hai configurato git, a questo punto.

>> Vedi cosa ti dice un "git remote -v" dentro la libreria. Se è qualcosa


> rino@comex:~$ ssh admin@nas
> admin@nas:/volume1/git/test$ git remote -v


No, non nel NAS. Nella copia locale che hai clonato.

Bye.
Fabio Set (09.01.2018, 15:03)
Il 09/01/2018 11:15, Alessandro Pellizzari ha scritto:
>>> Se sei riuscito a fare il push significa che almeno ssh funziona, quindi

>> Certo, con rsync funziona benissimo.

> Onestamente non capisco come hai configurato git, a questo punto.


Cosa vuoi sapere esattamente?

>>> Vedi cosa ti dice un "git remote -v" dentro la libreria. Se è qualcosa

>> rino@comex:~$ ssh admin@nas
>> admin@nas:/volume1/git/test$ git remote -v

> No, non nel NAS. Nella copia locale che hai clonato.


$ git clone nas:/volume1/git/test
Cloning into 'test'...
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 21 (delta 1), reused 0 (delta 0)
Ricezione degli oggetti: 100% (21/21), 7.73 KiB | 0 bytes/s, done.
Risoluzione dei delta: 100% (1/1), done.
Checking connectivity... fatto.

$ git remote -v
fatal: Not a git repository (or any of the parent directories): .git

ops, bisogna scendere nella sub-dir

$ cd test

$ git remote -v
origin nas:/volume1/git/test (fetch)
origin nas:/volume1/git/test (push)
Fabio Set (10.01.2018, 13:40)
Il 09/01/2018 14:03, Fabio Set ha scritto:

Inoltre nel nas ho creato un virtual-host () che punta
alla directory /volume1/git/test

Quindi nel file composer.json ho sostituto l'url nas:/volume1/git/test
con
Ma quando do il comando

composer update

esce questo errore

[InvalidArgumentException]
No driver found to handle VCS repository
Fabio Set (15.01.2018, 10:09)
Il 10/01/2018 12:40, Fabio Set ha scritto:
> Il 09/01/2018 14:03, Fabio Set ha scritto:
> Inoltre nel nas ho creato un virtual-host () che punta
> alla directory /volume1/git/test
> Quindi nel file composer.json ho sostituto l'url nas:/volume1/git/test
> con
> Ma quando do il comando
> composer update
> esce questo errore
>   [InvalidArgumentException]
>   No driver found to handle VCS repository


Nessuna idea?
Discussioni simili