グローバルパッケージを特定のバージョンにロックすることは可能ですか?たとえば、私がそうする場合:
$ npm install -g some-awesome-package@1.7.0
some-awesome-package@1.7.1が存在する場合、npmがこの特定のパッケージを更新しないようにすることはできますか?
グローバルパッケージを特定のバージョンにロックすることは可能ですか?たとえば、私がそうする場合:
$ npm install -g some-awesome-package@1.7.0
some-awesome-package@1.7.1が存在する場合、npmがこの特定のパッケージを更新しないようにすることはできますか?
答えはノーのようです。この号を開きましたが、閉じました。ただし、このユースケースを使用しているのが私だけだとは想像しがたいです。
CLIを使用してこれを行う方法があるかもしれませんが、npm見つかりません。npm shrinkwrapグローバルパッケージ用もないようです。
npm link(ローカルパッケージからグローバルフォルダへのシンボリックリンクを作成する)を使用することは可能かもしれないと思いましたが、npm install -g somepackage@foo後npm linkに実行すると、以前にインストールされたグローバルパッケージが上書きされます。
グローバルにインストールされたパッケージを上書きしようとしたときにnpmを強制的に失敗させる(非常にハッキーな)方法の1つは、フォルダー(実行するユーザーアカウントnpm)の書き込み権限を次のように削除することchmod -w /usr/local/lib/node_modules/<some package>です。
これを行うと、npm書き込みアクセス権がないため、そのグローバルパッケージをインストール/更新できなくなります。とはいえ、その道を進むことをお勧めするとは言えません。