Ich möchte etwas in dieser Art machen, also npm install
installiert auch die package.json
de ../somelocallib
oder, was noch wichtiger ist, seine Abhängigkeiten.
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
Ich möchte etwas in dieser Art machen, also npm install
installiert auch die package.json
de ../somelocallib
oder, was noch wichtiger ist, seine Abhängigkeiten.
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
Dieses Merkmal wurde implementiert in der Version 2.0.0 von npm. Lokale Pfade können gespeichert werden mit npm install -S
o npm install --save
unter Verwendung eines dieser Formulare:
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
Beispiel package.json
:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
npm ls
:
app@0.0.1 /private/tmp/app
somelocallib@0.0.1 -> /private/tmp/somelocallib
Setzen Sie somelocallib
als Abhängigkeit in Ihrem package.json
wie gewohnt:
"dependencies": {
"somelocallib": "0.0.x"
}
Dann laufen npm link ../somelocallib
und npm wird die Version installieren, an der Sie gerade arbeiten als Symlink .
Referenz: Link(1)
Es ist jetzt möglich, lokale Node-Modul-Installationspfade in Ihrem package.json
direkt. Aus den Unterlagen:
Lokale Pfade
Seit der Version 2.0.0 können Sie einen Pfad zu einem lokalen Verzeichnis angeben, das ein Paket enthält. Lokale Pfade können gespeichert werden mit
npm install -S
onpm install --save
unter Verwendung eines dieser Formulare:../foo/bar ~/foo/bar ./foo/bar /foo/bar
in diesem Fall werden sie auf einen relativen Pfad normalisiert und zu Ihrer
package.json
. Zum Beispiel:{ "name": "baz", "dependencies": { "bar": "file:../foo/bar" } }
Diese Funktion ist hilfreich für die lokale Offline-Entwicklung und die Erstellung von Tests, die eine npm-Installation erfordern, bei der Sie keinen externen Server ansprechen wollen, sollte aber nicht verwendet werden, wenn Sie Pakete in der öffentlichen Registry veröffentlichen.
Auf diese Weise werden Sie lokale Abhängigkeiten hinzufügen:
npm install file:src/assets/js/FILE_NAME
Fügen Sie es der package.json von NPM hinzu:
npm install --save file:src/assets/js/FILE_NAME
Direkt in die package.json einfügen, etwa so:
....
"angular2-autosize": "1.0.1",
"angular2-text-mask": "8.0.2",
"animate.css": "3.5.2",
"LIBRARY_NAME": "file:src/assets/js/FILE_NAME"
....
Wenn Sie dies weiter automatisieren wollen, weil Sie Ihr Modul in die Versionskontrolle einchecken und sich nicht darauf verlassen wollen, dass die Entwickler sich an den npm-Link erinnern, können Sie dies zu Ihrem package.json-Abschnitt "scripts" hinzufügen:
"scripts": {
"postinstall": "npm link ../somelocallib",
"postupdate": "npm link ../somelocallib"
}
Dies fühlt sich mehr als hacky, aber es scheint zu "funktionieren". Habe den Tipp von dieser npm Ausgabe: https://github.com/npm/npm/issues/1558#issuecomment-12444454
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.