検索
ホームページウェブフロントエンドjsチュートリアルnpm を使用してパッケージをインストール/削除/公開/更新/非公開に共有する

npm を使用してパッケージをインストール/削除/公開/更新/非公開に共有する

Jun 26, 2017 pm 03:26 PM
消去利用リリースインストール更新する

npmとは何ですか? 性的な製品

簡単に言うと、
npmを通じてモジュールをダウンロードし、既存のコードを再利用し、作業効率を向上させます

1.コミュニティの観点から:特定の問題に対処する コミュニティ内の他のユーザーが npm サーバーにアクセスしてダウンロードして使用できるようにすると同時に、コミュニティ内の特定のモジュール リソースを探して問題を解決することもできます
2.チームの観点から : npm パッケージを使用すると、管理ツールでチームの既存のコードを簡単に再利用できます
2. npm を使用してパッケージをインストールします
npm のインストール方法 - ローカル インストールとグローバル インストール
ローカル/グローバル インストールをいつ使用するか?
1. grunt CLI などのコマンドラインツールをインストールしようとするときは、グローバルインストールを使用します
グローバルインストール方法: npm install -g module name2. npm を通じてモジュールをインストールし、require('XXX') を通じて導入するには、ローカル インストールを使用します
ローカル インストール方法: npm インストール モジュール名
あなたは、遭遇する可能性のある問題を抱えています
ローカルにインストールしようとすると、通常、権限拒否の問題に遭遇します
たとえば、初めてExpressをグローバルにインストールしようとしたとき、npm install -g Express
と入力しました
【苦情】 そして、言葉にならないのは、多くの依存関係をインストールした後、権限が不十分であることを思い出させることです...
解決策: 。
sudo npm install -g XXX、管理者としてインストール
レビュー:
毎回アカウントとパスワードを入力する必要がありますが、これは非常に面倒で公式には推奨されていません
( sudo を使用してみることもできますが、これは避けるべきです)

2. sudo chown -R アカウント名 npm が配置されているディレクトリへのパス/{lib/node_modules,bin,share}
評価:
公式推奨アプローチ、chown のフルネームは、所有者変更です。これは、npm ディレクトリの所有者を自分の名前として指定する (アクセス許可を付与する) ことを意味します。指定されたディレクトリ内のすべてのサブディレクトリとファイルに対して同じ操作を実行します。
まず、npm config get prefix を使用して、npm が配置されているディレクトリへのパスを取得します。たとえば、次のようになります。コマンドラインでの chown - R アカウント名 npm が配置されているディレクトリのパス /{lib/node_modules,bin,share}、例:
[注] {lib/ の中括弧node_modules,bin,share} を記述する必要があります
Express を再度グローバルにインストールします: npm install -gexpress
インストールは成功しました

3.sudo chmod npm が配置されている 777 ディレクトリ (非推奨)
コメント: これはオンラインでよく見られる解決策ですが、公式チュートリアルには言及されていません。 chmod は読み取りおよび書き込みモードを変更する変更モードを表します。
誰でも読み取りおよび書き込みができるディレクトリに最高の権限を付与します。これは非常に危険です
。依存パッケージ情報は package.json に書き込まれます
問題に注意してください。チーム共同作業では、他の人が github からプロジェクトをクローンし、必要な依存関係を npm install でインストールします (Just. github からダウンロードしました クローン作成後には node_modules がないため、インストールする必要があります) では、依存関係をインストールするにはどのような情報を使用する必要がありますか?それは package.json 内の依存関係と devDepency です。したがって、ローカルにインストールする際は、依存パッケージの情報 (必要な名前とバージョン) を package.json に書き込むことが重要です。
npm install module : インストール後に package.json に書き込まないでください
npm install module --save
インストール後、package.json (本番環境) の依存関係に書き込みます環境の依存関係)
npm install module --save-dev インストール後、package.jsonのdevDepencyに書き込みます(開発環境の依存関係)
例: プロジェクト配下にwebpackをインストールしました: プロジェクトターミナルに入り、 npm install
と入力します。インストールが完了したら、package.json
webpack をアンインストールして再インストールします。 npm install webpack --save を入力した後:
Webpack をアンインストール再インストールします: npm install webpack --save-dev:
3. npm を使用してパッケージを削除します
モジュールの削除は実際には非常に簡単です:
グローバルモジュールを削除
npm uninstall -g npm
を使用してローカルモジュールを削除します
npm アンインストールmodule
ローカルモジュールを削除するときに考慮すべき質問: package.json 上の対応する依存関係情報も削除されますか?
npm uninstall module: モジュールを削除しますが、モジュールによって package.json に残された対応する情報は削除されません
npm uninstall module --save モジュールを削除します、 package.jsonの依存関係の下にある対応する情報も同時に削除します
npm uninstall module --save-dev モジュールを削除し、同時にdevDependencyの下にあるモジュールによって残された対応する情報を削除します。 package.json 内
4. npm を使用してパッケージを公開する
パッケージを公開する前に、まず npm アカウントを持っている必要があります
パッケージを初めて公開する:
ターミナルで npm adduser と入力すると、アカウント、パスワード、メールアドレスの入力を求められ、作成が成功したことが示されます
非初回リリース パッケージ:
ターミナルにnpmloginと入力し、作成したアカウント、パスワード、メールアドレスを入力してログイン
【注意】npm adduserが成功するとデフォルトでログイン状態になるので、 npm ログインを続行する必要があります)
1. プロジェクト ディレクトリに入り、ログインします。のパッケージの名前とバージョンはプロジェクト内のパッケージです。名前とバージョンは .json です。
3 その後、npm検索で公開されたAPPを見つけることができます!
【注意1】既存のパッケージ名と同じ名前は使用できません!
たとえば、パッケージ名を「react」に変更しようとすると、明らかにすでに存在します:
そして、パッケージを送信すると、次のようになります...
(翻訳: React パッケージを公開する権限がありません。React 所有者としてログインしていますか?)
[ヒント] パッケージを送信する前に、npm の検索エンジンを使用して、同じ名前のパッケージが既に存在します
[注 2] もう 1 つ注意すべき点は、パッケージ名に大文字/スペース/アンダースコアを使用しないことです
(実際には上記の例では, 当初はpenghuwanAPPとして書く予定でしたが、エラーが報告されてしまい…最終的にpenghuwanappに変更しました
【注3】プロジェクト内にnpmに公開したくないプライベートコードがいくつかあります。 ?

.gitignore または .npmignore に書き込むと、アップロードは無視されます

5. npm を使用してパッケージを非公開にします
ここで言っておきたいことが 1 つあります。非公開にするパッケージはあなたが思っているほど簡単ではないかもしれません。この操作には多くの制限があります。公開されたパッケージを元に戻すことは悪い行為とみなされます
(公開されたパッケージがすでにある程度の影響力を持っていると仮定して)あなたが公開するパッケージをすでに深く使用し、依存しているチームにとって、これはなんと衝撃的なことでしょう! 以前にリリースされたパッケージpenghuwanappを取り消すには: npm unpublish package name を入力してください
[Tucao] 注意してください。赤枠で囲まれた単語を入力すると、公開されたパッケージを取り消す際のこの動作に対する npm の公式の態度がわかります...
【注意】パーミッションエラーを報告する場合は、--force
を追加してくださいそしてnpm検索に行くと見つかりません
1仕様によれば、非公開は過去24時間以内に公開されたバージョンでのみ許可されます
非公開はバージョンでのみ許可されます過去 24 時間以内に公開されました。取り消されたパッケージの名前とバージョンを使用して繰り返すことはできなくなります
(つまり、この 2 つで構成される一意の識別子が「占有されているため、同じ名前と同じバージョンを持つことはできません」 ")

たとえば、私は次のようになります。 パッケージを撤回した後、同じ名前と同じバージョンでパッケージを再発行してみます:

エラーが報告され、次のことが示唆されました。パッケージバージョンを修正します
npm unpublish に代わる推奨コマンド: npm deprecate [@]
このコマンドを使用すると、 はコミュニティ内の既存のパッケージを取り消しませんが、誰かがこのパッケージをインストールしようとすると、警告が表示されます
例: npm deprecate penghuwanapp 'このパッケージはもう保守しません~'
six.npm アップデートがリリースされた後 パッケージ:
実際、npm update packageとpublish packageのコマンドは同じで、どちらもnpm pubです違いは、パッケージのバージョンを変更する必要があることです
その手順は次のとおりです:
1. パッケージのバージョンを変更します (package.json の version フィールド)
2.npm public
変更されたバージョンの詳細については、以下を参照してください:
VII .npm バージョン管理 - セマンティック バージョニング
package.json にはバージョン フィールドがあります。では、プロジェクトが継続的にビルドされている間にバージョンを調整するにはどうすればよいでしょうか?
npmには独自のバージョン管理標準があります - セマンティックバージョニング
具体的な実施形態は次のとおりです:
"version"の場合: "x.y.z"
1.バグを修正し、小さな変更を加え、z
2を追加しました。新しい機能を追加しましたが、下位互換性はありますが、y
3を追加しました。 1.1.0
3つのケースのいずれかである場合、2.0.0になります
npm version を通じてバージョンを自動的に変更します
patchupdate_typeは、マイナー、メジャーのいずれかは、それぞれパッチ、小さな変更、大きな変更を意味します
例えば、シェルでプロジェクトのバージョンを変更する場合
見てみましょうpackage.jsonを再度作成しました、v1.0.0になりました
【終了】

以上がnpm を使用してパッケージをインストール/削除/公開/更新/非公開に共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptの役割:WebをインタラクティブでダイナミックにするJavaScriptの役割:WebをインタラクティブでダイナミックにするApr 24, 2025 am 12:12 AM

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

JavaScript通訳者とコンパイラにおけるC/Cの役割JavaScript通訳者とコンパイラにおけるC/Cの役割Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

JavaScript in Action:実際の例とプロジェクトJavaScript in Action:実際の例とプロジェクトApr 19, 2025 am 12:13 AM

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptとWeb:コア機能とユースケースJavaScriptとWeb:コア機能とユースケースApr 18, 2025 am 12:19 AM

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンの理解:実装の詳細JavaScriptエンジンの理解:実装の詳細Apr 17, 2025 am 12:05 AM

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。