メインコンテンツにスキップ
すべてのコレクション受験者様向け問題の受験方法
実装・アルゴリズム問題のライブラリ追加方法
実装・アルゴリズム問題のライブラリ追加方法

Webエディタ上でライブラリを追加する方法をお伝えします。

Trackカスタマーサクセスチーム avatar
対応者:Trackカスタマーサクセスチーム
今週アップデートされました

以下の流れでご説明いたします。

[重要] なぜこの指示に従う必要があるのか

Webエディタから接続されている実行環境と実際の採点時の環境は異なります。

次に指示される方法以外でライブラリをインストールした場合、ライブラリはWebエディタのブラウザセッションが接続している実行環境のみにインストールされ、実際の採点時の環境にはインストールされません

従って、採点時にはライブラリがインストールされていない状態で採点が実施されます。採点時の環境にもライブラリをインストールするには、必ず以下の指示に従ってインストールしてください。

※こちらは、外部ライブラリの追加方法になりますので、
標準ライブラリの場合、特別対応は必要ありません。

ライブラリの追加方法

C

ライブラリの追加はサポートしておりません。

C++

ライブラリの追加はサポートしておりません。

C#

外部ライブラリを使用する場合は以下の手順で実施してください。

  • MainApp.csproj に依存ライブラリの追加

  • または、コマンド部でdotnet add packageコマンドを発行することでもMainApp.csprojが更新されます。

<ItemGroup>
<PackageReference Include="RestSharp" Version="106.13.0" />
</ItemGroup>

Java

外部ライブラリを使用する場合は以下の手順で実施してください。

  • pom.xml に依存ライブラリの追加

<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.9</version>
</dependency>
</dependencies>

NodeJS, TypeScript

外部ライブラリを使用する場合は以下の手順で実施してください。

  • package.json に依存関係を追加

"dependencies": {
"lodash": "4.17.15",
"underscore.string": "3.3.5"
}

PHP

外部ライブラリを使用する場合は以下の手順で実施してください。

  • composer.json に依存関係の追加

"require": {
"guzzlehttp/guzzle": "6.5.0",
"nesbot/carbon": "2.35.0"
}

Python

外部ライブラリを使用する場合は以下の手順で実施してください。

  • requirements.txt にライブラリ名とバージョンを記述

numpy
requests

下記の例のように、バージョンを指定することもできます。

numpy==1.26.0
requests==2.22.0

Scala

外部ライブラリを使用する場合は以下の手順で実施してください。

  • build.sbt に依存ライブラリの追加

libraryDependencies ++= Seq(
"org.apache.commons" % "commons-csv" % "1.5",
"org.scalaj" %% "scalaj-http" % "2.4.2"
)

Perl

外部ライブラリを使用する場合は以下の手順で実施してください。

  • cpanfile に依存関係を記載してください。Carton を使った外部ライブラリのインストールがサポートされています。

requires 'Plack', '1.0'; # 1.0 or newer
requires 'JSON', '>= 2.00, < 2.80';

recommends 'JSON::XS', '2.0';
conflicts 'JSON', '< 1.0';

on 'test' => sub {
requires 'Test::More', '>= 0.96, < 2.0';
recommends 'Test::TCP', '1.12';
};

on 'develop' => sub {
recommends 'Devel::NYTProf';
};

feature 'sqlite', 'SQLite support' => sub {
recommends 'DBD::SQLite';
};

Ruby

外部ライブラリを使用する場合は以下の手順で実施してください。

  • Gemfile にライブラリ名とバージョンを記述

  • あるいは bundle add コマンドを使用してライブラリ追加を行うこともできます。

source 'https://rubygems.org'

# 以下に外部ライブラリ及びそのバージョンを記述
gem 'diff-lcs', '1.4'
gem 'rspec', '3.9.0'

⚠️ 注意:

gem install コマンドでは Gemfile が更新されないため使用してはいけません。

Go

外部ライブラリを使用する場合は以下の手順で実施してください。

  • go.mod に依存関係の追加

    • 最新版を使用する場合、main.goimportに追加するだけでもよいです。

require (
github.com/huandu/xstrings v1.3.2
github.com/shopspring/decimal v1.2.0
)

Swift

外部ライブラリを使用する場合は以下の手順で実施してください。

  • Package.swift に依存ライブラリの追加

import PackageDescription

let package = Package(
name: "app",
dependencies: [
.package(url: "https://github.com/apple/swift-nio.git", from: "2.0.0"),
],
targets: [
.target(
name: "app",
dependencies: ["NIO"]
)
]
)

Kotlin

外部ライブラリを使用する場合は以下の手順で実施してください。

  • build.gradle に依存ライブラリの追加

dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile "com.google.code.gson:gson:2.8.6"
compile "com.squareup.okhttp3:okhttp:4.7.2"
}

Rust

外部ライブラリを使用する場合は以下の手順で実施してください。

  • Cargo.toml に依存ライブラリを追記してください。

serde = "1.0.113"
rand = "0.7.3"

[注意] HTTP クライアントライブラリの利用

Rust 実行環境には OpenSSL がインストールされていないため、openssl に依存したライブラリはコンパイルできません。いくつかのライブラリはフィーチャーを使って openssl の代わりに rustls を利用することでコンパイルできるようになります。

以下に一例を示します。

  • reqwest

reqwest = { version = "0.10", default-features = false, features = ["rustls-tls"] }
  • attohttp

attohttpc = { version = "0.13", default-features = false, features = ["tls-rustls"] }

よくある質問

  • ライブラリが動作しません。

    • バージョンが古い等が原因で動作しない可能性があります。正しく外部ライブラリが追加されない場合、バージョンの確認、修正をお願いします。

  • バージョン指定後、バージョン指定せずに実行したが、最新のバージョンに戻らない

    • ページをリロードしていただくことでバージョンを戻すことが可能です。

こちらの回答で解決しましたか?