シンボリックリンクとそのターゲットは異なる動作を生成しますか?

シンボリックリンクとそのターゲットは異なる動作を生成しますか?

実行すると、npm次の結果が表示されます。

-bash: /Users/me/.nvm/versions/node/v10.16.3/bin/npm: No such file or directory

実行すると、which -a npm次の結果が表示されます。

/usr/local/bin/npm

実行すると、ls -a /usr/local/bin/npm次の結果が表示されます。

lrwxr-xr-x  1 root  admin  38 Jan 29 14:02 /usr/local/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js

この時点で何が起こっているのかを理解する能力は限界を超えています。私が正しく覚えているなら、へのシンボリックリンクがあることを意味します/usr/local/lib/node_modules/npm/bin/npm-cli.js。だから、そのディレクトリに行って実行したところ、./npm-cli.js正しく動作しました。私はこれがシンボリックリンクされているように見える上記の初期コマンドと同じ出力を提供すると予想しましたが、そうではありません。うまくいきます。

なぜこれらは異なる動作をするのですか?私は何を見逃していますか?私の仕事が再びうまく機能するように問題を解決しようとしていますnpm

ベストアンサー1

おすすめ記事