15924: Update github links to arvados org.
[arvados.git] / doc / sdk / perl / index.html.textile.liquid
1 ---
2 layout: default
3 navsection: sdk
4 navmenu: Perl
5 title: "Installation"
6 ...
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 The Perl SDK provides a generic set of wrappers so you can make API calls easily.
14
15 It should be treated as alpha/experimental. Currently, limitations include:
16 * Verbose syntax.
17 * No native Keep client.
18 * No CPAN package.
19
20 h3. Installation
21
22 h4. Option 1: Install from distribution packages
23
24 First, "add the appropriate package repository for your distribution":{{ site.baseurl }}/install/install-manual-prerequisites.html#repos.
25
26 On Debian-based systems:
27
28 <notextile>
29 <pre><code>~$ <span class="userinput">sudo apt-get install libjson-perl libio-socket-ssl-perl libwww-perl libipc-system-simple-perl libarvados-perl</code>
30 </code></pre>
31 </notextile>
32
33 On Red Hat-based systems:
34
35 <notextile>
36 <pre><code>~$ <span class="userinput">sudo yum install perl-ExtUtils-MakeMaker perl-JSON perl-IO-Socket-SSL perl-Crypt-SSLeay perl-WWW-Curl libarvados-perl</code>
37 </code></pre>
38 </notextile>
39
40 h4. Option 2: Install from source
41
42 First, install dependencies from your distribution.  Refer to the package lists above, but don't install @libarvados-perl@.
43
44 Then run the following:
45
46 <notextile>
47 <pre><code>~$ <span class="userinput">git clone https://github.com/arvados/arvados.git</span>
48 ~$ <span class="userinput">cd arvados/sdk/perl</span>
49 ~$ <span class="userinput">perl Makefile.PL</span>
50 ~$ <span class="userinput">sudo make install</span>
51 </code></pre>
52 </notextile>
53
54 h3. Test installation
55
56 If the SDK is installed, @perl -MArvados -e ''@ should produce no errors.
57
58 If your @ARVADOS_API_HOST@ and @ARVADOS_API_TOKEN@ environment variables are set up correctly (see "api-tokens":{{site.baseurl}}/user/reference/api-tokens.html for details), the following test script should work:
59
60 <notextile>
61 <pre>~$ <code class="userinput">perl &lt;&lt;'EOF'
62 use Arvados;
63 my $arv = Arvados-&gt;new('apiVersion' => 'v1');
64 my $me = $arv-&gt;{'users'}-&gt;{'current'}-&gt;execute;
65 print ("arvados.v1.users.current.full_name = '", $me-&gt;{'full_name'}, "'\n");
66 EOF</code>
67 arvados.v1.users.current.full_name = 'Your Name'
68 </pre>
69 </notextile>