グローバルパッケージを特定のバージョンにロックすることは可能ですか?たとえば、私がそうする場合:
$ 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
書き込みアクセス権がないため、そのグローバルパッケージをインストール/更新できなくなります。とはいえ、その道を進むことをお勧めするとは言えません。