ホームページ ウェブフロントエンド 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 ディレクトリの所有者を自分の名前として指定する (アクセス許可を付与する) ことを意味します。指定されたディレクトリ内のすべてのサブディレクトリとファイルに対して同じ操作を実行します。
<1>まず、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 までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? Apr 08, 2024 am 11:41 AM

1. まず、相手を永久にブロックして削除して永久に追加しないのは間違いで、ブロックして削除した後に相手を追加したい場合は、相手の同意だけが必要です。 2. ユーザーが誰かをブロックすると、相手はユーザーにメッセージを送信したり、ユーザーの友達サークルを表示したり、ユーザーと通話したりすることができなくなります。 3. ブロックとは、ユーザーの WeChat 連絡先リストから相手を削除することを意味するものではありません。 4. ユーザーが相手をブロックした後、ユーザーの WeChat 連絡先リストから相手を削除した場合、削除後に回復する方法はありません。 5. ユーザーが相手を再度友達として追加したい場合は、相手が同意してユーザーを再度追加する必要があります。

TikTokのチャット履歴を完全に削除する方法 TikTokのチャット履歴を完全に削除する方法 May 07, 2024 am 11:14 AM

1. Douyin アプリを開き、インターフェイスの下部にある [メッセージ] をクリックし、削除する必要があるチャット会話エントリをクリックします。 2. 任意のチャット記録を長押しし、[複数選択]をクリックし、削除したいチャット記録にチェックを入れます。 3. 右下隅の [削除] ボタンをクリックし、ポップアップ ウィンドウで [削除の確認] を選択して、これらのレコードを完全に削除します。

Windows は指定されたデバイス、パス、またはファイルにアクセスできません Windows は指定されたデバイス、パス、またはファイルにアクセスできません Jun 18, 2024 pm 04:49 PM

友人のコンピュータにはこのような障害があり、「この PC」と C ドライブのファイルを開くと、「Explorer.EXE Windows は指定されたデバイス、パス、またはファイルにアクセスできません。プロジェクトにアクセスするための適切な権限がない可能性があります。」と表示されます。フォルダ、ファイル、このコンピュータ、ごみ箱などを含め、ダブルクリックするとこのようなウィンドウが表示されますが、通常は右クリックで開きます。システムのアップデートが原因でこの状況が発生した場合は、以下のエディターで解決方法を説明します。 1. レジストリ エディターを開いて Win+R と入力し、「regedit」と入力するか、スタート メニューを右クリックして実行し、「regedit」と入力します。 2. レジストリ「Computer\HKEY_CLASSES_ROOT\PackagedCom\ClassInd」を見つけます。

PHP の実践的なヒント: コードの最後のセミコロンを削除する PHP の実践的なヒント: コードの最後のセミコロンを削除する Mar 27, 2024 pm 02:24 PM

PHP の実践的なヒント: コード内の最後のセミコロンを削除する PHP コードを作成するとき、コード内の最後のセミコロンを削除する必要がある状況によく遭遇します。これは、コピー&ペーストにより余分なセミコロンが導入されるため、またはコード スタイルと構造を最適化するためである可能性があります。この記事では、PHP コードの最後のセミコロンを削除するいくつかの方法と具体的なコード例を紹介します。方法 1: substr 関数を使用する substr 関数は、文字列から指定された長さの部分文字列を返すことができます。我々はできる

Win7 コンピューターに Go 言語をインストールする詳細な手順 Win7 コンピューターに Go 言語をインストールする詳細な手順 Mar 27, 2024 pm 02:00 PM

Win7 コンピュータに Go 言語をインストールする詳細な手順 Go (Golang とも呼ばれます) は、Google によって開発されたオープン ソース プログラミング言語です。シンプルで効率的で、優れた同時実行パフォーマンスを備えています。クラウド サービス、ネットワーク アプリケーション、およびアプリケーションの開発に適しています。バックエンド システムです。 Win7 コンピューターに Go 言語をインストールすると、その言語をすぐに使い始めて、Go プログラムの作成を開始できるようになります。以下では、Win7 コンピューターに Go 言語をインストールする手順を詳しく紹介し、具体的なコード例を添付します。ステップ 1: Go 言語インストール パッケージをダウンロードし、Go 公式 Web サイトにアクセスします。

Windows が更新を永久に一時停止し、Windows が自動更新をオフにする Windows が更新を永久に一時停止し、Windows が自動更新をオフにする Jun 18, 2024 pm 07:04 PM

Windows アップデートにより、次の問題が発生する可能性があります。 1. 互換性の問題: 一部のアプリケーション、ドライバー、またはハードウェア デバイスは、新しい Windows アップデートと互換性がなく、適切に動作しなかったり、クラッシュしたりする可能性があります。 2. パフォーマンスの問題: Windows アップデートにより、システムが遅くなったり、パフォーマンスが低下したりする場合があります。これは、新機能または改善により、実行するためにより多くのリソースが必要になることが原因である可能性があります。 3. システムの安定性の問題: 一部のユーザーは、Windows 更新プログラムをインストールした後、システムで予期しないクラッシュやブルー スクリーン エラーが発生する可能性があると報告しました。 4. データ損失: まれに、Windows アップデートによりデータ損失やファイル破損が発生する場合があります。このため、重要な更新を行う前に、バックアップを作成してください。

Win7システムにGo言語をインストールするにはどうすればよいですか? Win7システムにGo言語をインストールするにはどうすればよいですか? Mar 27, 2024 pm 01:42 PM

Win7 システムに Go 言語をインストールするのは比較的簡単な操作で、次の手順に従ってください。以下では、Win7 システムに Go 言語をインストールする方法を詳しく紹介します。ステップ 1: Go 言語のインストール パッケージをダウンロードする. まず、Go 言語の公式 Web サイト (https://golang.org/) を開いて、ダウンロード ページに入ります。ダウンロード ページで、Win7 システムと互換性のあるインストール パッケージのバージョンを選択してダウンロードします。 [ダウンロード] ボタンをクリックし、インストール パッケージがダウンロードされるまで待ちます。ステップ 2: Go 言語をインストールする

WeChatモーメントを削除する方法 WeChatモーメントを削除する方法 Apr 08, 2024 pm 03:25 PM

1. WeChat アプリを開き、右下隅の [Me] をクリックし、[Moments] オプションを見つけてクリックします。 2. 右上隅の [My Moments] をクリックし、My Moments インターフェースで削除したいモーメント内のコンテンツを見つけます。 3. クリックしてこの友達サークルの詳細ページに入り、コンテンツ公開時間の右側にある[小さなゴミ箱]アイコンをクリックします。 4. ポップアップウィンドウで[OK]を選択すると、友達サークル内のコンテンツの削除が完了します。

See all articles