Pulling dependencies from an internal repository via pubspec.yaml
The doc you link says:
or another HTTP server that speaks the same API
I.E. your internal server must implement the pub
API. It seems that if you put
http:
hosted:
name: http
url: http://repository.internal-repo.com/foo/
version: ^0.12.0+4
then pub make a request to http://repository.internal-repo.com/foo/api/packages/http
It's not clear what it expects to find there.
You may want to unzip your tar file onto a shared drive somewhere and use the path
syntax instead, for example (assuming you've unzipped into the http_12_0_4
folder of the pub
share and mounted that):
http:
path: /Volumes/pub/http_12_0_4
No version is needed because you've hard-coded that into the folder name.
PopperJuan
Updated on December 17, 2022Comments
-
PopperJuan over 1 year
I'm in a corporate firewall which blocks me from pulling packages from pub.dev. However, I was given the option to use an internal repository where I can pull the packages from as tar.gz files.
However, after reading
https://dart.dev/tools/pub/dependencies#hosted-packages
, I attempted to add this to mypubspec.yaml
file:dependencies: flutter: sdk: flutter http: hosted: name: http url: http://repository.internal-repo.com/repository/googleapis-storage/packages/ version: ^0.12.0+4
If I were to hit the link directly via Chrome (this url is in an internal network)
http://repository.internal-repo.com/repository/googleapis-storage/packages/http-0.12.0+4.tar.gz
the package downloads as a tar.gz fileBut when I run a
pub get
:502 notresolvable trying to find package http-0.12.0+4.tar.gz at http://repository.internal-repo.com/repository/googleapis-storage/packages/. pub get failed (server unavailable) -- attempting retry 1 in 1 second...
I see that you can pull from public Github directly however that is also blocked by our proxy.
Am I doing something wrong here or is this feature not available?