## [[Nim]]のバージョンアップ [[Scoop]]でインストールしなおす。 `slackego.nimble`のDepnedenciesを変更。 ```diff # Dependencies - requires "nim >= 0.18.0" + requires "nim >= 1.0.0" ``` ## ビルド ```console $ nimble build Verifying dependencies for [email protected] Info: Dependency on docopt@>= 0.6.5 already satisfied Verifying dependencies for [email protected] Info: Dependency on regex@>= 0.7.4 already satisfied Verifying dependencies for [email protected] Info: Dependency on unicodedb@>= 0.7.2 already satisfied Verifying dependencies for [email protected] Info: Dependency on dotenv@>= 1.1.0 already satisfied Verifying dependencies for [email protected] Building slackego/slackego.exe using c backend C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\src\slackego.nim(9, 27) Warning: using '.' instead of '/' in import paths is deprecated [Deprecated] C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\src\slackegopkg\clients\slack.nim(2, 8) Warning: import os.nim instead; ospaths is deprecated [Deprecated] C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\src\slackegopkg\util.nim(1, 8) Warning: imported and not used: 'os' [UnusedImport] C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\src\slackegopkg\clients\slack.nim(14, 3) Error: undeclared identifier: 'initDotEnv' candidates (edit distance, scope distance); see '--spellSuggest': (4, 1): 'dotenv' [module declared in C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\src\slackegopkg\clients\slack.nim(10, 8)] Tip: 10 messages have been suppressed, use --verbose to show them. Error: Build failed for package: slackego ... Execution failed with exit code 1 ... Command: C:\Users\tadashi-aikawa\scoop\shims\nim.exe c --colors:on --noNimblePath -d:NimblePkgVersion=0.1.2 --path:C:\Users\tadashi-aikawa\.nimble\pkgs\docopt-0.6.8 --path:C:\Users\tadashi-aikawa\.nimble\pkgs\regex-0.19.0 --path:C:\Users\tadashi-aikawa\.nimble\pkgs\unicodedb-0.10.0 --path:C:\Users\tadashi-aikawa\.nimble\pkgs\dotenv-2.0.1 --hints:off -o:C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\slackego.exe C:\Users\tadashi-aikawa\git\github.com\tadashi-aikawa\slackego\src\slackego.nim ``` そう甘くはない。 ## 警告の修正 > \src\slackego.nim(9, 27) Warning: using '.' instead of '/' in import paths is deprecated [Deprecated] `import`パスの`.`は`/`に変更する。 > \clients\slack.nim(2, 8) Warning: import os.nim instead; ospaths is deprecated [Deprecated] > \src\slackegopkg\util.nim(1, 8) Warning: imported and not used: 'os' [UnusedImport] `ospaths`は非推奨なので、`os.nim`を使えとのこと。ただ、そもそも`os`を使っていないから`os`ごとimportを消してしまえばよさそう。 ただ、`import os`を削除すると`fileExists`が使えなくなるので残しておく。 ```nim if fileExists(".env"): initDotEnv().load() ``` 現バージョンの[[Nim]]だと非推奨なのかもしれないが。。 ## ビルドエラーの修正 > slackego\src\slackegopkg\clients\slack.nim(14, 3) Error: undeclared identifier: 'initDotEnv' ```nimble requires "dotenv >= 1.1.0" ``` [[dotenv.nim]]の使い方が変わったのかもしれない。v2が最新ぽいので最新化。 ```console nimble install dotenv Downloading https://github.com/euantorano/dotenv.nim using git Verifying dependencies for [email protected] Installing [email protected] Prompt: [email protected] already exists. Overwrite? [y/N] Answer: y Success: dotenv installed successfully. ``` `slackego.nimble`のバージョンも変更しておく。 ```diff - requires "dotenv >= 1.1.0" + requires "dotenv >= 2.0.1" ``` ```diff if fileExists(".env"): - initDotEnv().load() + load() ``` ## 実行エラーの修正 > Error: unhandled exception: No SSL/TLS CA certificates found. [IOError] [[cacert.pem]]をexeと同じディレクトリに配置すればOK。 - [SSL/TLS certifictae issues with Nim 1\.4\.4? \- Nim forum](https://forum.nim-lang.org/t/7551) > Error: not_allowed_token_type [[Botトークン (Slack)|Botトークン]]には対応してなさそう.. ## リリース用のCI追加