Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

外で開発する事が増えたので、古い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  # ユーザごとの設定ファイルを作成

<Directory "/Users/*/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>
vi /private/etc/apache2/extra/httpd-userdir.conf

UserDir enabled
UserDir Sites
Include /private/etc/apache2/users/*.conf
<IfModule bonjour_module>
       RegisterUserSite customized-users
</IfModule>

Apache起動

sudo apachectl start
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away