過去の行動に戸惑い、いつも以上に警戒npm
している。
私は Mac を使用しており、node.js を介してインストールしましbrew install node
た。
jslint.js
コマンドとしてコマンドラインで実行したいのでjslint
、これを達成する標準的な方法はsudo npm install -g jslint
、次の出力で正常に実行されることです。
$ sudo npm install -g jslint
npm http GET https://registry.npmjs.org/jslint
npm http 200 https://registry.npmjs.org/jslint
npm http GET https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz
npm http 200 https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz
npm http GET https://registry.npmjs.org/nopt
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http GET https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-l.0.4.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
/usr/local/share/npm/bin/jslint -> /usr/local/share/npm/lib/node_modules/jslint/
bin/jslint.js
jslint@0.1.9 /usr/local/share/npm/lib/node_modules/jslint
└── nopt@1.0.10 (abbrev@1.0.4)
続いて
$ jslint ply.js
zsh: command not found: jslint
/usr/local/share/npm/bin
私の中にいないため$PATH
。
1)パスへのbrew
グローバルnpm
bin
パスをインストールしなかったのはなぜですか? 多分それはしましたが、何かzsh
がそれを台無しにしています。どこでそれを見つけることができますか?
2) 私はこれをするべきですか? ( my の下部に:/usr/local/share/npm/bin
あるエクスポートに追加します)$PATH
~/.zshrc
後で(Homebrewなどを使用して)何か他のものをインストールする場合、それをzsh起動スクリプトに追加してパスを設定する必要があるため、これは正しい方法ではないようです。この特定の例でnpm install -g
は、「適切な」場所に適切なシンボリックリンクを作成していないだけの問題だと思います(/usr/local/bin
おそらく)。
私がやろうとしていることは/usr/local/bin
、私が問題を抱えているプログラムのために手動で内部にシンボリックリンクを構築することであり、それは私の目的には十分なはずです。
編集:この古い質問は人気がありますが、私の個人的なワークフローの観点からも、ノードのインストールとそのさまざまな依存関係の管理の最善の方法の観点からも、現在は時代遅れになっているため、2019年にこれを更新しています。
私の個人的なワークフローは、nodejs.org から入手したインストーラーを使用してノードをシステムにインストールすることです。ファイルの管理方法を最もよく知っているので、実際には自作パッケージ自体よりもこれを信頼しています。システム ノードを 8.10 から 10.15 に変更する場合は、Mac か Windows かに関係なく、nodejs.org からお使いの OS 用の 10.15 のインストーラーをダウンロードするだけです。私の経験では、自作でインストールされたノードをアップグレードしようとすることは、より困難なアプローチであることが常に証明されています。
また、指摘すべき最大のことは、上記の jslint の npm インストールの例に示されているような sudo の使用は、非常に推奨されないということです。スーパーユーザーを使用して自作パッケージをインストールしたり、操作したりしないでください。これは必要ないはずであり、ファイル許可の頭痛の種になります!
さらに、jslint よりも ESLint をお勧めします。何年も jslint を使用していません。