古いMacBook Airを、High Sierraに上げて開発環境を設定する

外で開発する事が増えたので、古いMacBook AirのOSをHigh Sierraに上げました。
ついでに開発環境(Node.jsとか)を入れた際に、少しハマったのでメモです。

かつてインストーラで入れた、古いNode.jsが入っていたので、消す

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

nodebrewというNode.jsのバージョン管理ツールを入れる

brew install nodebrew
vi .~/.bashrc
####以下を追加####
export PATH=$HOME/.nodebrew/current/bin:$PATH
####
source ~/.bashrc
nodebrew -v

Node.jsのインストール

nodebrew setup
nodebrew ls-remote   # インストールできるバージョン一覧を得る
nodebrew install-binary stable   #最新バージョンをインストール
nodebrew ls   # ダウンロードしたnodeのバージョンを確認
nodebrew use v10.10.0
node -v    # v10.10.0
npm -v   # 6.4.1

npmでパッケージが入らない

  • sudoをつけずに実行してみる
npm install -g truffle-hdwallet-provider

npmでパッケージを入れたのに、requireしようとすると見つからず、Error: Cannot find module ‘モジュール名’が出る

  • require で探すモジュールのパスを確認する。参考ページ
node
> global.module.paths
[ '/Users/ユーザ名/repl/node_modules',
  '/Users/ユーザ名/node_modules',
  '/Users/node_modules',
  '/node_modules',
……
]
  • 不足していたら追加する
echo $NODE_PATH   #空っぽ
vi ~/.bash_profile
に
export NODE_PATH=`npm root -g`
を追加。

現在のシェルが何か調べる

echo $SHELL    # /bin/bash でした。

ターミナルで、.bashrcが読み込まれない

.bash_profileに以下を追加

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

ローカルのディレクトリをApacheで公開する設定

  • かつては「サイト共有」という機能が「システム環境設定」の「共有」にありましたが、無くなりました。
  • OSアップグレード前にあった、~/Sites というフォルダは残っています。
sudo vi /etc/apache2/httpd.conf
以下の行のコメントをはずす
#LoadModule userdir_module libexec/apache2/mod_userdir.so
と
#Include /private/etc/apache2/extra/httpd-userdir.conf


sudo vi /etc/apache2/users/ユーザ名.conf  # ユーザごとの設定ファイルを作成


AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
vi /private/etc/apache2/extra/httpd-userdir.conf

UserDir enabled
UserDir Sites
Include /private/etc/apache2/users/*.conf

       RegisterUserSite customized-users

Apache起動

sudo apachectl start

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です