外で開発する事が増えたので、古い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