Niedawno zainstalowałem Node.js i moduł npm w OSX i mam problem z ustawieniami, które myślę:
npm install [MODULE] is not installing the node.js module to the default path
which is /usr/local/lib/node_modules.
Jeśli chcesz zainstalować moduł npm globalnie, upewnij się, że używasz nowej -g
flagi, na przykład:
npm install forever -g
Ogólne zalecenia dotyczące instalacji modułu npm od wersji 1.0rc (zaczerpnięte z blog.nodejs.org ):
- Jeśli instalujesz coś, czego chcesz użyć w swoim programie, używając wymaga („cokolwiek”), a następnie zainstaluj go lokalnie , w katalogu głównym projektu.
- Jeśli instalujesz coś, co chcesz użyć w swojej powłoce, w wierszu poleceń lub coś, zainstaluj to globalnie , aby pliki binarne znalazły się w zmiennej środowiskowej PATH.
Niedawno skorzystałem z tych zaleceń i poszło całkiem gładko. Zawsze instalowałem na całym świecie (ponieważ jest to narzędzie wiersza poleceń), a wszystkie moje moduły aplikacji lokalnie.
Jeśli jednak chcesz korzystać z niektórych modułów globalnie (np. Express lub mongodb), skorzystaj z tej porady (również z blog.nodejs.org ):
Oczywiście są pewne przypadki, w których chcesz zrobić jedno i drugie. Zarówno Coffee-script, jak i Express to dobre przykłady aplikacji, które mają interfejs wiersza poleceń, a także bibliotekę. W takich przypadkach możesz wykonać jedną z następujących czynności:
- Zainstaluj go w obu miejscach . Poważnie, czy brakuje ci miejsca na dysku? Naprawdę jest w porządku. To małe programy JavaScript.
- Zainstaluj go globalnie, a następnie npm link do skryptu kawy lub npm link express (jeśli korzystasz z platformy obsługującej łącza symboliczne). Następnie wystarczy zaktualizować kopię globalną, aby zaktualizować również wszystkie dowiązania symboliczne.
Pierwsza opcja jest moim zdaniem najlepsza. Proste, jasne, wyraźne. Drugi jest naprawdę przydatny, jeśli zamierzasz ponownie korzystać z tej samej biblioteki w wielu różnych projektach. (Więcej na temat linku npm w przyszłej części.)
Nie testowałem żadnej z tych odmian, ale wydają się one dość proste.
npm prefix
aby uzyskać lokalny prefiks inode prefix -g
zobaczyć globalny prefiks :)Na komputerze Mac znalazłem, że dane wyjściowe zawierały informacje, których szukałem:
Po dodaniu
/usr/local/share/npm/bin
doexport PATH
mojego wiersza.bash_profile
, zapisaniu go isource
włożeniu, byłem w stanie uruchomićnormalnie
źródło
Lubię używać pliku package.json w katalogu głównym folderu aplikacji.
Oto jeden, którego używam
http://pastie.org/3232212
źródło
Miałem problemy z instalacją Express na Ubuntu:
Jeśli z jakiegoś powodu brakuje polecenia NPM, przetestuj polecenie npm za pomocą
npm help
. Jeśli nie, wykonaj następujące kroki - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntuJeśli tylko polecenie Express nie działa, spróbuj:
To sprawiło, że wszystko działa tak, jak ja jestem przyzwyczajony do Windows7 i OSX.
Mam nadzieję że to pomoże!
źródło
Musisz mieć uprawnienia administratora,
źródło
W Ubuntu ustaw ścieżkę modułów_węzła w pliku .bashrc
źródło
Możesz nie mieć uprawnień do zapisu, aby zainstalować moduł węzła w lokalizacji globalnej, np.
/usr/local/lib/node_modules
W takim przypadku uruchom pakiet npm install -g jako root.źródło