tack-okinawa

50歳で退社し、programming skill up中!

vim8から neovimへ

はじめに

AWS環境設定の続きから、ドキュメントを見ながらの設定だったので
かなり時間かかった。

Environment

  • macOS Catalina v 10.15.5
  • AWS Amazon Linux 2
  • python2 v 2.7.18
  • python3 v 3.7.5
  • ruby v 2.7.1
  • node.js v 14.3.0
  • pyenv v 1.2.18-19
  • rbenv v 1.1.2-30
  • nodev v 1.3.2+7

Setting

neovim の導入に gcc も必須になるようだ

# yum -y install gcc-c++
$ gcc --version
7.3.1
$ g++ --version
7.3.1

bash_profile の設定

$ nvim ~/.bash_profile
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"

さっそく、neovim install

$ sudo yum -y install unzip libtool
$ git clone https://github.com/neovim/neovim.git
$ ls -la
neovim
$ cd neovim
$ sudo yum -y install cmake
$ make
$ nvim          <~ 0.5.0   なんとversionが0.5.0 に上がっている lol

neovim初期設定

$ cd
$ mkdir -p ~/.config/nvim
$ touch init.vim
symbolic link の設定
$ ln -s ~/.config/nvim/init.vim ~/

pyenv の設定

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
PATH を通す ( python は、bashrc & bash_profile 両方に設定する )
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc
$ . ~/.bashrc
$ . ~/.bash_profile
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
$ pyenv install 2.7.18
$ pyenv install 3.7.5      <-  3.8系まで、install 可能ですが pip install で、error になる
$ pyenv global 2.7.5 3.7.5
python の仮想環境を作成
$ pyenv virtualenv 2.7.18 neovim2
$ pyenv virtualenv 3.7.5 neovim3
$ pyenv versions        <- 設定確認
$ pyenv rehash
$ pip list -o pip      <-   pip の package & version 確認
$ pip install -U <package-name>
$ pip install --upgrade pip
$ pyenv activate neovim neovim2
$ pip install pynvim
$ pip install neovim
$ pyenv which python
/home/ec2-user/.pyenv/versions/neovim2/python
python3 も同様に進める
$ pyenv deactivate     <~ activate 解除

nodenv の設定

$ git clone git://github.com/nodenv/nodenv.git ~/.nodenv
$ git clone git://github.com/nodenv/node-build.git ~/.nodenv/plugins/node-build
PATH を通す
$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
$ . ~/.bash_profile
$ nodenv install 14.3.0	
$ nodenv global 14.3.0
$ npm install -g npm 		<~ npm 自身をupdate
npm 6.12.0 -> 6.14.5
$ npm install --global neovim
$ nodenv which neovim-node-host
home/ec2-user/.nodenv/versions/14.3.0/bin/neovim-node-hos

rbenv の設定

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
pathの設定
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ . ~/.bash_profile
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo ~/.rbenv/plugins/ruby-build/install.sh
$ rbenv install 2.7.1
$ rbenv rehash
$ gem update --system
$ gem isntall neovim
$ rbenv which neovim-ruby-host
/home/vagrant/.rbenv/versions/2.7.1/bin/neovim-ruby-host

Shougo/dein.vim install

$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh ~/.cache/dein

init.vim への設定

let g:python_host_prog='/home/ec2-user/.pyenv/versions/neovim2/bin/python'
let g:python3_host_prog='/home/ec2-user/.pyenv/versions/neovim3/bin/python'
let g:ruby_host_prog = ‘/home/ec2-user/.rbenv/versions/2.7.1/bin/neovim-ruby-host’
let g:node_host_prog = '/home/ec2-user/.nodenv/versions/14.3.0/bin/neovim-node-host'

以上!!
dein への補完は、また次回に投稿します。

amazon-linux-extras & pyenv で、ハマった!

application の整理をしていて、ハマってしまったので、備忘録!
ググっても、中々出てこなく困った。
id:sig9 氏のblog をやっと発見!ありがとうございます!
まあ、sig9 氏のblog 見た方が早いのだが、自分用で、簡単にまとめる。

# which amazon-linux-extras
/usr/bin/amazon-linux-extras

install は、済んでいる。

# amazon-linux-extras
/home/.pyenv/versions3.7.5/bin/python: No module named amazon_linux_extras

あれ?
どうやら、pyenv install が影響しているようだ!
symbolic link を作成する事で、回避できるようだ。

ln -s /lib/python2.7/site-packages/amazon_linux_extras ~/.pyenv/versions/3.7.5/lib/python3.7/site-packages/
$ sudo amazon-linux-extras
NOTE: The livepatch extra is in public preview, not meant for production use

  0  ansible2                 available    \
        [ =2.4.2  =2.4.6  =2.8  =stable ]
  2  httpd_modules            available    [ =1.0  =stable ]
  3  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  5  postgresql9.6            available    \
        [ =9.6.6  =9.6.8  =stable ]
  6  postgresql10             available    [ =10  =stable ]
  8  redis4.0                 available    \
        [ =4.0.5  =4.0.10  =stable ]
  9  R3.4                     available    [ =3.4.3  =stable ]
 10  rust1                    available    \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0  =1.38.0
          =stable ]
 11  vim                      available    [ =8.0  =stable ]
    - 以下略 -

できたが、どうやら私の場合 今までの設定に問題があったのか、注意マーク( NOTE: )が出た!
本番環境の問題らしいが、まだ勉強中なので、どんどん進んでみます。
以下、注意点
Extras Library の狙いは、安定した基盤にピンポイントで新しいソフトウェアをインストールすることです。
Extras Library 経由のインストールは 1、2個にとどめておくことがベストプラクティスみたいです。

Blog開設からprogramming学習へ

50歳をすぎて、30年勤めた会社を退社。

世間では、30歳を過ぎたら無理だと言ってるが、どうしても

IT関連の仕事がしたく、programming の勉強を始めた。

ITパスを2ヶ月勉強して取得し、次の順序で学習してきた。

HTML & CSS & JavaScript > Linux > Ruby > Rails >Heroku

只今、AWS学習中です。

今後は、AWS関連の記事(備忘録)を投稿する予定。

AWSの今のスキルは、VPC > EC2 >ネットワーク&サーバー構築

まで、OK!

最初の目標だった、適切な権限でEC2を建てて、

自宅NETからssh-login ができる事を目指していたので、

最初の目標クリア!

 

 

Ruby on Rails 6 実践ガイド (impress top gear)

Ruby on Rails 6 実践ガイド (impress top gear)

  • 作者:努, 黒田
  • 発売日: 2019/12/20
  • メディア: 単行本(ソフトカバー)