2015-02-06 15 views
54

Czy istnieje sposób na zmianę nazwy modułu NPM, który już został opublikowany? Chcę zmienić nazwę mojego modułu, aby dokładniej pasowała do interfejsu API, który eksponuje, ale nie chciałaby zostawiać ludzi, którzy już zainstalowali go na lodzie.Zmiana nazwy opublikowanego modułu NPM

Odpowiedz

74

Nie ma żadnego dostępnego sposobu na zrobienie tego. Kiedy już napotkał w przeszłości podejście Wziąłem było:

npm potępiać% NazwaProjektu% @ „< = put-najnowszej wersji-here” „OSTRZEŻENIE: Ten projekt został przemianowany na% NewProjectName% Zainstaluj zamiast tego program% ProjectName%. "

npm Deprecate instructions

6

W prostych słowach no nie można. Ale npm oferuje ci inne rozwiązanie o nazwie npm deprecate.

Co robi, oznacza określoną wersję lub zakresy wersji tego pakietu jako nieaktualne. Tak więc, jeśli ktoś spróbuje zainstalować ten pakiet, otrzyma pakiet przestarzałych ostrzeżeń wraz z niestandardową wiadomością, w której można łatwo podać nazwę nowego pakietu.

Zastosowanie:

npm deprecate [email protected]"< latest-version" "your message" 

Twoja wiadomość może być dowolna rzecz, jak:

WARNING: This project has been renamed to your-new-package-name. Install using new-package-name instead. 
0

kiedyś był w takiej sytuacji. Opublikowałem pakiet o nazwie bowser-or-node zamiast browser-or-node.

Nie można zmienić nazwy pakietu, należy wycofać i opublikować nowy pakiet.

Chociaż istnieje jeszcze jedna opcja. Jeśli właśnie opublikowałeś swój pakiet (mniej niż 24 godziny od opublikowania) i jeśli masz pewność, że wszystko jest w porządku, usuwając pakiet i publikując nowy o poprawnej nazwie, możesz to zrobić. Jednak NPM nie pozwoli na usunięcie pakietu, gdy minie 24 godziny od czasu opublikowania.

Na szczęście doszedłem do wniosku, że opublikowałem błędne imię w mniej niż 20 minut. Po prostu usunąłem i opublikowałem ponownie z nową nazwą.