LoginSignup
0
0

Vagrantを使用したときに困った体験一覧

Last updated at Posted at 2023-05-20

前提

  • Windows環境

Which interface should the network bridge to?

  • コマンドラインをEnter押してもうんともすんともしない

なんだこれ

config.vm.network "public_network", ip: "192.168.0.1", hostname: true
config.vm.network "forwarded_port", guest: 80, host: 8080, protocol: "tcp", auto_correct: true

たぶん、この辺の設定を行うと出るっぽい

結論

  • 「1」を入力すると進んだ。

please check the process listing for any "ruby" or "vagrant" processes and kill them. Then try again.

  • プロビジョニング中に強制終了したら、rubyなんちゃらと警告が出た。

結論

# ルビーに関係するプロセス検索
tasklist | grep ruby*

# 該当プロセスをKILL
wmic process where "name='プロセス名'" delete

VagrantのPort開放関係(localhost:????)の部分ってどうやって指定するんだ

結論

  • アプリケーション側のportを:7000に指定する
    • golangならhttp.ListenAndServe(":7000", nil)
  • Vagrantfileの設定
    • config.vm.network "forwarded_port", guest: 7000, host: 7001

Goの拡張機能がSSH接続でVsCode環境で使用できない

image.png

症状

  • 放置しても、画像の状態でフリーズ
  • 補完が効かない

結論

  • まず、Goの開発環境サポート用のツールをインストールする必要がある
  • Vagrantfileにて、以下の通りにSSH接続後(VsCode)、Vagrant環境内で実行する①
  • VsCodeを開き、Go拡張機能をインストールする

①↓↓↓↓↓↓↓↓↓

# Go1.20のインストール
GOFILE=go1.20.4.linux-amd64.tar.gz
wget https://go.dev/dl/$GOFILE
sudo tar -C /usr/local -xzf $GOFILE
rm -rf $GOFILE

# Goのパスを通す
echo "export PATH=$PATH:/usr/local/go/bin" >> /home/vagrant/.bashrc
source /home/vagrant/.bashrc

GO_PLS_VERSION=golang.org/x/tools/gopls@v0.11.0
GO_OUTLINE_VERSION=github.com/ramya-rao-a/go-outline@latest
GO_CODE_VERSION=github.com/stamblerre/gocode@v1.0.0
/usr/local/go/bin/go install -v $GO_PLS_VERSION
/usr/local/go/bin/go install -v $GO_OUTLINE_VERSION
/usr/local/go/bin/go install -v $GO_CODE_VERSION

fatal error: out of memory allocating heap arena map

症状

  • go run main.goで実行したときにエラーが出る

結論

  • Vagrant環境内で割り当てているメモリが影響しているっぽい(確証は無い)
  • Goの拡張機能が割と重めの印象なのでDisableにしてみてVsCodeリロードで解決
  • free -hコマンドでメモリ使用量を確認し、メモリ不足ならVagrantのメモリ設定を多めに確保するか、拡張機能落とすとか整理する
  • sudo sync && sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'でキャッシュ削除出来る(応急)
    image.png

これから

  • とりあえず詰まったらここに書き足していく
0
0
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
0
0