パッケージを管理し、スクリプト内にインストールするには、ライブラリがありますか、それともNPM自体に組み込まれていますか?私は、ローカルパッケージが存在するかどうかをチェックし、そうでない場合はインストールするプロセスを作成しています。それから私は同じプロセスで動的にそれを必要としたいと思っています。スクリプトを使用してNPMパッケージを管理する
0
A
答えて
3
これは間違いありませんが、おそらくお勧めできません。
npmモジュール "npm-programmatic"が見つかりました。これによりnpmをインストールできます。一度それをしたら、必要なものが失敗したときに処理できるように、try catchで必要なものをラップするだけです。
const npm = require('npm-programmatic')
let myPackage
try {
myPackage = require('my-package')
} catch(err) {
npm.install(['my-package']).then(function() {
myPackage = require('my-package')
console.log(myPackage)
})
}
ここで目にする最大の問題は、スクリプトを標準の権限以上に実行する必要があることです。おそらく非常にお勧めできないこのスクリプトをsudoで実行する必要があります。
0
いいえ、あなたの目標を達成する方法はないと思います。実際、それは「悪い」アイデアです。 Node.jsの下で
、我々は常にすべての依存関係を管理するためにpackage.jsonを使用して、我々は彼らを展開するとき、我々は唯一の
$npm install
を実行するために使用することは非常に簡単かつ効果的であるが、上のベースあなたの心は、require2のようなrequire関数の代わりに新しい関数を書く必要があります。モジュールをロードする際には常にモジュールが存在するかどうかをチェックしますが、それは有効ではありません。
+0
通常、それは悪い考えですが、私たちは閉じた環境でプライベートレポを使用しています。それは私たちのために何かを維持するための快適な方法です。 – ddibiase
関連する問題
- 1. npmを使用してクライアント側のスクリプトを管理する
- 2. Telerikプラットフォームnpmパッケージを管理する
- 3. NPMスクリプト用のNPMパッケージ
- 4. パッケージnpm -gを使用してインストールするパッケージbashスクリプトに表示されない理由は何ですか?
- 5. NPMは、私は管理者が一口をインストールし使用していても
- 6. jqueryでNPMパッケージを使用する
- 7. Angular4でLoess npmパッケージを使用する
- 8. Blur-Admin新しいnpmパッケージを追加して使用する
- 9. 複数回使用するNugetパッケージを管理する方法
- 10. npmを使用してMongodbをパッケージ化するには?
- 11. パブリッシュモジュールを使用してPowershellモジュールをVSTSパッケージ管理に公開する
- 12. ANTを使用して管理されたSalesforceパッケージを展開する
- 13. npm管理者特権をインストールする
- 14. NodeJSパッケージ管理
- 15. TypeScriptパッケージ管理
- 16. npmスクリプトを使用して新規ユーザーを作成する
- 17. Azure関数でVSTSパッケージ管理でNuGetパッケージを使用するには?
- 18. package.json generation/npm未使用パッケージ
- 19. 管理サイトに2つ以上のパッケージを使用しているDjango
- 20. dotnetを使用したNugetパッケージのNugetパッケージでの配布管理
- 21. npmスクリプト(webpack-dev-server)を理解する
- 22. Jenkins 2を使用する自動ネクサスアーティファクトのバージョン管理Jenkinsfileスクリプト
- 23. gulpを使用してNPMパッケージを提供してライブリロードする方法
- 24. 自己管理TFSパッケージ管理
- 25. npm ERR! ELSEECYCLEでnpmのbashスクリプトを使用する場合
- 26. CircleCIを使用してNPMにパッケージを自動的に公開
- 27. クライアント側でnpmパッケージを使用
- 28. weblogic管理コンソールを使用してカスタム設定ファイルを管理しますか?
- 29. カスタム管理テーブルを使用して管理ページにリダイレクトする方法
- 30. NPMを使用し、Gruntでパスをパッケージ化します。
スーパーマーケットなどでノードの起動をラップしてから、ノードに独自のpackages.jsonを更新させてから再起動をトリガーしてnpm installを呼び出してインストールします+あなたのノードを再起動する前に新しいアップストリームの依存関係を再構築します...エラーの復帰...非常にはっきりしていますが、明らかに非常に脆弱です。開発者のみの生産ではありません。 –
これらの回答の1つが役に立つとわかったら、それを受け入れるべきです。将来の開発者には役立ちます。 – BrassApparatus