4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nimbleでパッケージ管理

Posted at

概要

  • nimbleでパッケージを作成するときのメモ
  • nimbleで作成したパッケージで色々する

環境

  • OSX
  • nim 0.17.2
  • nimble 0.8.8

外部のパッケージを操作する

パッケージリストを取得する

% nimble update
  • ~/.nimble 以下にパッケージリストが配置される

パッケージを検索

% nimble search [キーワード]
  • キーワードで関連するパッケージ一覧を表示

パッケージをインストール

% nimble install [パッケージ名]
  • ~/.nimble/pkgs 以下にパッケージが配置される

パッケージをアンインストール

% nimble uninstall [パッケージ名]
  • ~/.nimble/pkgs 以下の対応するパッケージを削除

自作のパッケージを作成する

パッケージ作成

% mkdir example.nim
% cd example.nim
% nimble init
      Info: In order to initialise a new Nimble package, I will need to ask you
        ... some questions. Default values are shown in square brackets, press
        ... enter to use them.
    Prompt: Package name? [examplenim]
    Answer: example
    Prompt: Initial version of package? [0.1.0]
    Answer: 
    Prompt: Your name? [honeytrap15]
    Answer: 
    Prompt: Package description?
    Answer: example nimble package
    Prompt: Package license? [MIT]
    Answer: 
    Prompt: Lowest supported Nim version? [0.17.2]
    Answer: 
   Success: Nimble file created successfully
  • ベースとなるnimbleファイルが生成される

ビルド設定

  • nimble buildでプロジェクトをビルドできる

  • 以下のような構成にした

% tree      
.
├── example.nimble
└── src
    └── example.nim
example.nim
echo "example package"
  • ソースディレクトリと生成するバイナリをnimbleファイルに設定する
example.nimble
# Package

version       = "0.1.0"
author        = "honeytrap15"
description   = "example nimble package"
license       = "MIT"

bin = @["example"]
srcDir = "src"

# Dependencies

requires "nim >= 0.17.2"
  • ビルド
% nimble build
  Verifying dependencies for example@0.1.0
   Building example/example using c backend
% ls
example        example.nimble src
% ./example
example package

タスクを追加

  • nimbleファイルに定義することでサブコマンドを追加できる
example.nimble
...
task clean, "clean build files":
  exec "rm -rf example"
  exec "rm -rf src/nimcache"
  echo "remove build files"

ローカルのパッケージをインストール

  • ローカルにあるパッケージのリンクする
% nimble develop
   Warning: This package's binaries will not be compiled nor symlinked for development.
  Verifying dependencies for example@#head
   Success: example linked successfully to '/Users/hiro/Desktop/example.nim'.
% ls ~/.nimble/pkgs 
example-#head
  • これをやっておくとテストコードを書いたり、他のパッケージからimportすることができるようになる
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?