環境
MacOS Big Sur
質問
こちらの記事によると
$npm install -g npm-check-updates
するとncu
コマンドが使えるようになるそうなのですが、その後$ncu
とやってもcommand not found
と表示されてしまい、$which -a rbenv(僕の場合はここはncu)
で実行ファイルがあるか確認するという記事の通りやってもncu not found
と出てきてしまって実行ファイルがなさそうなのです。一番最初のコマンドで実行ファイルがインストールされていない、もしくはされてるけど正しく認識できてない原因はなんだと考えられますでしょうか?また対処法を教えてくださいますと幸甚です。よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/23 07:06
回答3件
0
ベストアンサー
npm-check-updatesのpackage.jsonのbinキーを見てみましょうか
json
1 "bin": { 2 "npm-check-updates": "build/src/bin/cli.js", 3 "ncu": "build/src/bin/cli.js" 4 },
これを指定してあるモジュールをnpm install -g
オプション付きでインストールした場合、
コマンドとして追加されるはずです。
実際の該当箇所を見ると
ncu
とnpm-check-updates
のコマンド登録の記述が確認出来ます。
けれど実際にはコマンド登録出来ていない。
ってことは環境変数のPATHが問題かな?
少しコマンドラインに於けるコマンドとは何か?を解説します。
コマンドラインで何かしらのコマンドを実行した場合、
環境変数のPATHに記述されているディレクトリ(フォルダ)を左から順番に1つずつ覗いていき、
同じ名称の実行ファイルが存在している場合
「コマンドが存在する」という挙動になります。
npmがコマンドを使えるようにするという流れとして、
この環境変数PATHで指定されているディレクトリの何処かに実行ファイルをポコンと吐き出して、
「ここに実行ファイルがあるからコマンドとして使えるはずだよ」という事をやっているわけです。
なので、本当にこの流れが正しいのか?を確かめなくてはなりません。
- 環境変数PATHを確認
- npmが実行ファイルを吐き出す先のパスを確認
まずは環境変数のPATHを確認してみましょう。
MacやLinuxならecho $PATH
で確認できます。
which
コマンドが使えているみたいなのでMacなんですかね?
もしWindowsならecho %path%
とか、コマンドプロンプトやPowerShell等で確認方法が異なるので検索して調べてみてください。
これを一度メモなどに書き出して保存しておいてくださいね。
次にnpmの実行ファイル吐き出し先を確認しましょう。
bash
1$ npm bin -g
この辺の整合性が狂っているので実行ファイルが作られているにも関わらず
使えないという状況になると推測されます。
解決方法は色々あります。
しかし、質問者さんがそもそもどうやってNode.jsとnpmを導入したかにより
取るべき手段が異なるので、そのへん考えてみてください。
- 公式サイトのNode.js
インストール時に環境変数の書き換えなんかも頑張ってやってくれているはず。
多分インストールに失敗しているのでアンインストールして入れ直してみてください
環境変数PATHの指定は自分でやってくださいという思想です
インストール時に下記をやってくださいという英語の指示が出てるはずですが、やってませんね?
環境変数周りもバッチリなので今回のような問題は起こるはずがありません
既存のNode.jsなんて捨ててこちらに乗り換えてはいかが?
- その他
知らん。環境変数PATHの指定をすればとりあえず動くとは思います。
投稿2021/11/23 09:51
総合スコア21203
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/23 10:26 編集
2021/11/23 10:32
2021/11/23 10:59
2021/11/23 11:01
2021/11/23 11:45
2021/11/23 13:20
2021/11/23 13:22
2021/11/24 08:41 編集
2021/11/24 08:39
0
もしかして;
$ncu じゃなくて、ncu と打ってみてください
投稿2021/11/23 06:57
総合スコア88042
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/23 07:08
2021/11/23 07:11
2021/11/23 07:16
2021/11/23 07:20
2021/11/23 07:41
0
>$which -a rbenv(僕の場合はここはncu)
rbenvはrubyの切り替えツールですよ。
$ npm install -g npm-check-updates
$ npm list -g
/Users/foo/.nodenv/versions/16.13.0/lib
├── @vue/cli@4.5.15
├── corepack@0.10.0
├── express-generator@4.16.1
├── npm-check-updates@12.0.2
└── npm@8.1.0
$ type -a ncu
ncu is /Users/foo/.nodenv/shims/ncu
$ ncu -Versions
12.0.2
投稿2021/11/23 06:07
編集2021/11/23 06:09総合スコア7337
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/23 07:13
2021/11/23 07:24
2021/11/23 07:47
2021/11/23 08:12
2021/11/23 09:18
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。