client := ZnClient new.
client host: ‘www.geoplugin.net’.
client addPathSegment: ‘json.gp’.
client queryAt: ‘ip’ put: ‘188.8.131.52’.
client contentReader: [ :entity | STONJSON fromString: entity contents ].
znResponse := client get; contents.
Of course we just want you to have to
Now before getting there, here is a description of what we will use.
I’ve updated the Pharo 6 snap package for Ubuntu.
The major advantages of using the snap package are:
– No need to install all the 32 bit dependencies on a 64 bit system,
they’re all contained and isolated within the snap package.
– Automagically distinguish between 32 bit and 64 bit images and run the
appropriate VM (as with the ZeroConf package, the 64 bit VM still
needs more testing).
To get Pharo up and running on Ubuntu 16.04 or later:
# Install Pharo
$ sudo snap install –candidate pharo –classic
# If your system isn’t configured for threaded heartbeat:
$ sudo pharo.config
# Download the latest Pharo 6 image
$ pharo.ui Pharo.image
$ pharo Pharo.image eval 4+3
To get a list of available commands:
$ snap info pharo
If you’re on Debian or Ubuntu 14.04 you’ll need to install snapd, see
The VM is the threaded heartbeat, dated 201705310241.
The installation flags are:
–candidate – The edge and beta channels are for development versions.
It progresses to candidate and then stable.
–classic – Snap packages are normally sandboxed for security
reasons. Since Pharo is a development environment
in which we want to be able to run any executable,
or load any library, it is installed with access to
the entire system (as the running user).
Why use snap packages?
– They include all dependencies. In particular, for the 32 bit
versions, this means that it isn’t necessary to install all the 32 bit
architecture and associated dependencies.
– Including dependencies means that there shouldn’t be any problems with
incompatible library versions when upgrading.
Why not use snap packages?
– It’s a relatively new technology, with a number of rough edges.
– There may still be issues with its sandboxing that I haven’t
– Because the package uses classic confinement, it isn’t
cross-distribution in practice (unfortunately).
Please let me know of any other advantages or disadvantages you think
should be listed here.
If you don’t trust me to configure your system correctly (which requires
– All the scripts that make up the sub-commands are visible, e.g.
pharo.config can be viewed at /snap/pharo/current/usr/bin/CONFIG
The packaging code is at: https://github.com/akgrant43/pharo-snap
I just wanted to make some clarifications on what is going on with
PharoCloud and how I see the future of the project.
PharoCloud is not closing, but just dropping VM hosting support. We will
continue to develop and maintain Ephemeric Cloud which allows you to publish
Pharo web applications online much easier than any other VM hosting can
offer. In some way PharoCloud just becomes more “cloudy” by dropping
outdated technologies off 🙂
Our plan is to make the project more community oriented. We integrated
PharoCloud with Pharo.org SSO and provide *FREE* access to all *Pharo
Association* members. You are welcome to log in to the cloud with your Pharo
Association account at:
We are encouraging you to migrate your applications hosted as Pharocloud VMs
to the Ephemeric Cloud. It is much more simple! We have some positive
experience already. There are some examples I moved from VM hosting to
Here you can find a quick start guide to Ephemeric cloud and some tips on
how to publish your app:
Also there is a REST API you can use to manage the cloud. And there is also
a Pharo wrapper around the REST-API:
In case of any questions or issues with images, please feel free to contact
Thanks Sophie and Clement for this great tool.