- 投稿日:2019-08-20T19:39:52+09:00
Kindle Cloud ReaderをGoogle Chromeで読んだ際、やたらとストレージを取る場合の対処法
- 投稿日:2019-08-20T14:18:18+09:00
Macでnodenvで管理しているnpmで入れたモジュールにパスを通す
この記事を書いたきっかけ:
Node.jsをnodebrewで管理していたのをやめ、nodenvでインストールし直したが、npmでグローバルインストールしたモジュールにアクセスできなくて困ったから
参考: nodebrew管理からnodenv管理への移行ははこちらを参考に行いました
注意:上記記事ではanyenvではなく、
git
経由でnodenvがクローンされています。anyenv経由でnodenvをインストールする方法も調べると出てきます。前提
- Node.jsをanyenvのnodenvで管理している
- nodenvのバージョン:
1.1.2-1-g18489d7
- Node.jsのバージョン:
9.11.1
- npmのバージョン:
5.6.0
実際の手順
作業の順番に沿って説明します。
npmがnodenvで管理されたNode.jsのものであることを確認する
nodenvでのNode.jsのインストールは完了していると考えます。
Node.jsをインストールした際に自動的にnpmもインストールされています。npmがnodenvで管理されたNode.jsのものであることを確認します↓
$ which npm /Users/{your_user_name}/.anyenv/envs/nodenv/shims/npm
/usr/local/bin
などが表示された場合、nodebrewなどを利用してインストールされていると思われます。npmのパスが通らない場合
.bash_profile
に以下の記述を追加します
zshを使用している場合は書き込み先を.zshrc
にするなど、適宜読み替えてください。
- 直接編集する
bash_profileexport PATH="$HOME/.anyenv/envs/nodenv/bin:$PATH"
- echoする
$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
- 更新する
$ source ~/.bash_profileでは、このnodenv配下のnpmでモジュールをグローバルインストールします。
どのNode.jsのnpmか確認する
npmでグローバルインストールする場合は、nodenvでグローバルに設定したNode.jsのnpmを使うほうがいいと思います。nodenvで複数の環境を管理している場合は特に注意です。
- nodenvでNode.jsのバージョン管理をしているか確認する
$ nodenv versions 8.11.1 * 9.11.1 (set by /Users/{your_user_name}/.anyenv/envs/nodenv/version)ローカルバージョンを参照している場合、参照先のファイルが
$ nodenv local {バージョン番号}
実行時に作成されたファイル.node_version
になります。$ nodenv versions * 8.11.1 (set by /{where_your_locally_set_node_is}/.node-version) 9.11.1グローバルバージョンが設定されていない場合
- Node.jsにグローバルバージョンを設定する
$ nodenv global {バージョン番号}npmでモジュールをグローバルインストールする
今回は例として
aws-cdk
というモジュールをインストールしようとしていますが、適宜読み替えてください。
- npmで
aws-cdk
をグローバルインストールする$ npm install -g aws-cdk /Users/{your_user_name}/.anyenv/envs/nodenv/versions/9.11.1/bin/cdk -> /Users/{your_user_name}/.anyenv/envs/nodenv/versions/9.11.1/lib/node_modules/aws-cdk/bin/cdk + aws-cdk@1.4.0 updated 1 package in 10sインストールできたっぽいです。
モジュールのコマンドを確認する
$ cdk -bash: cdk: command not found # そんなコマンドねえよと怒られます $ which cdk # 反応なしはい、通っていません。
先ほどnpmインストールした時に
/Users/{your_user_name}/.anyenv/envs/nodenv/versions/9.11.1/bin/cdk -> /Users/{your_user_name}/.anyenv/envs/nodenv/versions/9.11.1/lib/node_modules/aws-cdk/bin/cdkとありましたので、このディレクトリに向かってパスを通しました。
- 直接編集する
.bash_profileexport PATH="$HOME/.anyenv/envs/nodenv/versions/*/bin:$PATH"
- echoする
$ echo 'export PATH="$HOME/.anyenv/envs/nodenv/versions/*/bin:$PATH"' >> ~/.bash_profile
- 更新する
$ source ~/.bash_profile今度こそパスが通っているか確認します。
コマンドが通っているか確認します。
$ cdk Usage: cdk -a <cdk-app> COMMAND # (略) $ which cdk /Users/{your_user_name}/.anyenv/envs/nodenv/shims/cdk通りました!