npmリンクを使用してインストールされたパッケージをアンインストールするにはどうすればよいですか?


162

sudo npm linkパッケージのディレクトリでを使用してノードパッケージをインストールする場合、開発が完了したらパッケージをアンインストールするにはどうすればよいですか?

npm linkシステムのグローバルパッケージの場所( '/ usr / local / lib`)にシンボリックリンクとしてパッケージをインストールします。これにより、パッケージを何度もインストールしなくても、開発中にパッケージをテストできます。

リンクを再度削除するには、どのnpmコマンドを実行する必要がありますか?

回答:


166

パッケージは、インストール済みパッケージの削除に使用できるものと同じアンインストールまたはrmコマンドを使用してアンインストールできます。覚えておくべき唯一のことは、リンクをグローバルにアンインストールする必要があることです- --globalフラグを提供する必要があります。

グローバルにリンクされたfooパッケージをアンインストールするために、次のコマンドを使用できます(sudoセットアップと権限に応じて、必要に応じて使用します)

sudo npm rm --global foo

これにより、パッケージがアンインストールされます。

パッケージがインストールされているかどうかを確認するには、次のnpm lsコマンドを使用できます。

npm ls --global foo

5
リンクされたパッケージの名前がわからない場合はnpm ls --global --depth 0、最上位の依存関係をすべて一覧表示することもできます
schu34

1
でも、許可の問題のため、これは私にはうまくいきませんでしたsudo。and フィールドでダミーpackage.jsonを使用して、不足しているディレクトリを作成しました(パッケージ名と一致する必要があり、何でもかまいません)。そのフォルダ内で実行すると、うまくいきました。nameversionnameversionnpm link && npm unlink
シルベノン2018

npm uninstallローカルライブラリフォルダーからも機能します。
バックスラッシュ

132

unlinkシンボリックリンクを削除するために使用できます。

例えば:

cd ~/projects/node-redis 
npm link                 
cd ~/projects/node-bloggy
npm link redis             # links to your local redis

package.jsonから再インストールするには:

npm unlink redis
npm install

https://www.tachyonstemplates.com/npm-cheat-sheet/#unlinking-a-npm-package-from-an-application


4
ではないunlinkと同じrmのためにnpm?それらは同じマニュアルページを共有します(uninstall)。
nwinkler 2014

1
@nwinklerリンクを共有できますか?
ブレアアンダーソン

12
npmソースコードでは、アンインストールのエイリアスとしてrm、unlink、remove、r、unを使用しています:github.com/npm/npm/blob/…-66行目を参照してください。
nwinkler 2014

この回答の下部にあるリンクは私にとって死んでいます。
Liron Yahdav

npm iとにかくすべてのリンクを削除しませんか?
ToivoSäwén

19

npmリンクの痛み:

-モジュール名gulp -task

-プロジェクトproject-x


あなたはgulp-taskをリンクしたい:

1:gulp-taskディレクトリに移動してnpm link、プロジェクトをグローバルモジュールにシンボリックリンクします

2:プロジェクトへ移動プロジェクト-xが、その後んnpm install現在node_modulesディレクトリを削除することを確認してください


この狂気を取り除き、本当のgulp-taskを使用したい場合、2つのオプションがあります。

オプション1:npmを介してリンクを解除する:

1:プロジェクトに移動してnpm unlink gulp-task、リンクされたインストール済みモジュールを削除します

2:gulp-taskディレクトリに移動し、npm unlinkシンボリックリンクを削除します。モジュールの名前を使用していないことに注意してください

3:祝う


これが機能しない場合は、グローバルにインストールされているモジュールを探して確認します。nvmls -la /usr/local/lib/node_modules/を使用している場合、私の場所は別のパスになります


オプション2:通常のLinux達人のようにシンボリックリンクを削除する

1:グローバルな依存関係を見つける cd /usr/local/lib/node_modules/

2:シンボリックリンクを削除するには、単にrmコマンドを使用します

rm gulp-task /最後に持っていないことを確認してください

rm gulp-task/ 間違っています 🔥🚨

rm gulp-task ✔️


プレーンを実行すると、プロジェクト内のすべてのパッケージがnpm-unlink削除されました。
cst1992

2

あなたが誤って何かやった場合はnpm link、あなたがそれを変更した後に発電機- Webアプリケーションを、あなたは右の発電機をクローニングし、リンクすることによってそれを修正することができますように

git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;

0

「npm install」は、「npm link」でインストールされたnode_modulesのすべての依存関係をnpmjsのバージョン(package.jsonで指定)に置き換えます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.