「mymodule」のような名前のgithubtarballから特定のリビジョンをインストールし、「mymoduleTemp」のような名前を付けてから、実際の名前が「mymodule」になる可能性のある異なるバージョンをロードしたいと思います。
だから、私は最初のことをどのように行うのですか?私は次のようなものを探しています:
npm install https://github.com/me/mymodule/tarball/someTag -name mymoduleTemp
それを行う方法はありますか?持っているといい:
その機能を要求する問題がnpm-githubリポジトリに提出されました。
ここを読んでください: https://github.com/npm/npm/issues/294
[email protected]
以降、カスタムモジュール名でパッケージをインストールできます。 [email protected]
サポートを導入 パッケージエイリアス用。
カスタムモジュール名でtarballをインストールするには、custom-name@tarball-url
引数を使用します。例:特定のexpress
tarballをmy-express
モジュールとしてインストールします。
npm i my-express@https://github.com/expressjs/express/archive/4.16.3.tar.gz
この機能により、npmレジストリに公開されたパッケージのエイリアスを作成することもできます。
npm i express@npm:@my-scope/express
特にブラウザの場合は、package.json
にエイリアスを追加できます
https://github.com/defunctzombie/package-browser-field-spec
例えば:
{
....
"browser": {
"someTag": "mymoduleTemp"
}
}
これは、 metro bundleを使用した「react-native」でも機能します。私はwebpackバンドルでテストしたことがありません。
あなたはこれを行うことができます:
package.json
のname
を@me/mymoduleTemp
に変更します(vim mymoduleTemp.tgz
でtarballを編集することで、手順1と3をスキップできます)mymoduleTemp.tgz
に圧縮しますnpm publish mymoduleTemp.tgz
を実行します(制限したい場合を除き、--access public
を使用)npm install @me/mymoduleTemp
を実行しますスコープパッケージ として公開することをお勧めします。スコープなしのmymoduleTemp
として公開すると、他の誰もその名前を使用できないためです。
スコープパッケージを公開してもnpmレジストリが汚染されていると思われる場合は、新しいtarballを独自のプライベートサーバー(またはGitHubなど)に配置し、URL経由でインストールできます。