logo
株式会社エムケイシステム
TECH BLOG

ここ2ヶ月くらいで嵌った話

ここ2ヶ月くらいで嵌った話

ここ2ヶ月くらいで嵌ったことで覚えてること

1. dockerのpuliginの追加を行う際にproxyサーバが見つからず追加できない

背景

  • dockerのpluginを追加しようとした際に、proxyサーバが有効になっていてpluginが追加できなかった
  • printenv http_proxy https_proxyで確認したところ

解決手法

  • docker.serviceにて設定されている環境変数を変更する

試したこと

  1. ~/.docker/config.jsonで設定しているか確認してみる
  2. 参照: https://matsuand.github.io/docs.docker.jp.onthefly/network/proxy/
  3. docker.serviceで設定しているか確認してみる
  4. 参照: http://docs.docker.jp/engine/articles/systemd.html

2. vscode + omnisharpが動いていなかった

背景

解決手法

  • 環境変数の設定手法を見直す (こちらは残課題が生じてしまった)
  • dotnet-sdkを更新してみる (特に理由がなければ、こっちの手法がよいと思ってます)

試したこと

  1. 環境変数にdotnetの各種設定を実施する関数を.zshrcに定義して回避中

    # configuration for hooking shell functions
    autoload -Uz add-zsh-hook

https://github.com/OmniSharp/omnisharp-vscode/issues/2970#issuecomment-541516806

function set-dotnet-vars { DOTNETBASE=$(dotnet —info | grep “Base Path” | awk ‘{print $3}’) echo “DOTNETBASE: ${DOTNET_BASE}”

DOTNET_ROOT=$(echo $DOTNET_BASE | sed -E "s/^(.*)(\/sdk\/[^\/]+\/)$/\1/")
echo "DOTNET_ROOT: ${DOTNET_ROOT}"

export MSBuildSDKsPath=${DOTNET_BASE}Sdks/
export DOTNET_ROOT=$DOTNET_ROOT
export PATH=$DOTNET_ROOT:$PATH

}

function prepareomnisharp() { case $PWD/ in /csharp-project-name/) set-dotnet-vars; esac }

add-zsh-hook : hook function

add-zsh-hook chpwd prepareomnisharp

2. dotnet-sdk の upgradeを実施してdotnet-sdkにてバージョン管理を行う

- .Net6 から dotnet-sdk自体でversion管理を実施している感じ
- https://docs.microsoft.com/ja-jp/dotnet/core/whats-new/dotnet-6
- `macOS(Big Sur) + brew`の組み合わせで確認したところに合わせて変更されていた
- `MSBuildSDKsPath`などもいい感じに設定されているのでomnisharpも動作していた


## 最後に

- もっといい感じの解決手法があれば、また更新しときます。

弊社では、一緒に会社を面白くしてくれる仲間を募集しています。
お気軽にお問い合わせください!
採用ページへ >