Utilisation
|
node test.js
|
File
|
fs.readFile(fileLocation, 'utf8', function (err, data) {
if (err) throw err;
else {
// si le fichier ne contient pas some text, on l'ajoute
if (data.indexOf('some text') < 0) {
data = data.replace(/my regex/, '$&\n\nsome text');
fs.writeFile(fileLocation, data, 'utf8', function (err) {
if (err) throw err;
});
}
}
});
|
Erreurs
Cannot find module
Si le module est bien installé, c'est que le chemin d'accès n'est pas le bon.
|
export NODE_PATH=/usr/lib/node_modules/
|
|
# chercher un paquet
npm search nom-du-packet
npm --global install nom-du-packet
# --global/-g: global mode, npm installs packages into /usr/lib/node_modules and bins are installed in /usr/bin
# %appdata%/npm pour Windows
# local mode (default), npm installs packages into the current working directory.
# Packages are installed to ./node_modules, and bins are installed to ./node_modules/.bin.
npm uninstall -g nom-du-packet
# lister les paquets qui doivent être mis à jour
npm outdated
# tout mettre à jour
npm update
# màj de npm global
npm install -g npm
# lister les paquets installés
npm list -g --depth=0
# --depth=0: only display the top level packages
# dépendances
npm info [nom-du-packet] dependencies
|
Chemin d'installation des packages
|
Linux
|
Windows
|
local |
./node_modules |
.\node_modules
|
global |
/usr/lib/node_modules |
%AppData%\npm\node_modules
|
Chemin d'installation des exécutables
|
Linux
|
Windows
|
local |
./node_modules/.bin |
.\node_modules\.bin
|
global |
/usr/bin |
%AppData%\npm
|
Versions
^1.2.3 |
version demandée et les versions suivantes compatibles (>1.x.y avec x>=2 et <2.0.0)
|
~1.2.3 |
version demandée et les patchs suivants (1.2.x avec x>=3 et <1.3.0)
|
>1.2.3 |
inclus les versions suivantes
|
1.2.3 - 1.3.0 |
plage de versions
|
VersionMajeure.VersionMineure.Patch
package.json
|
"scripts": {
"cmd": "command",
"dev": "php -S localhost:8080 -t ./api & ng serve --open"
},
|
|
# lance le script dev
npm run dev
# passer des argument
npm run cmd -- arg1 arg2
|
> gifsicle@3.0.4 postinstall /srv/http/laravel1/node_modules/gifsicle
> node lib/install.js
⚠ No binary found matching your system. It's probably not supported.
⚠ gifsicle pre-build test failed
ℹ compiling from source
✖ Error: autoreconf -ivf && ./configure --disable-gifview --disable-gifdiff --prefix="/srv/http/laravel1/node_modules/gifsicle/vendor" --bindir="/srv/http/laravel1/node_modules/gifsicle/vendor" && make install
Command failed: autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --output=aclocal.m4t
Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory
at ChildProcess.exithandler (child_process.js:273:12)
at ChildProcess.emit (events.js:127:13)
at maybeClose (internal/child_process.js:936:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
|
# installer automake
pacman -S automake
|
ENOENT: no such file or directory
error: ENOENT: no such file or directory, open '/usr/lib/node_modules/@angular/cli/package.json
npm ERR! error in /usr/lib/node_modules/@angular/cli: ENOENT: no such file or directory, open '/usr/lib/node_modules/@angular/cli/package.json'
npm ERR! missing: nan@^2.3.0, required by fsevents@1.1.2
npm ERR! missing: semver@~5.3.0, required by node-gyp@3.6.2
ERR_STREAM_WRITE_AFTER_END
npm ERR! code ERR_STREAM_WRITE_AFTER_END
npm ERR! write after end
Nettoyer ou mettre à jour les paquets npm.
|
# utiliser le paramètre unsafe-perm
npm install --unsafe-perm -g @angular/cli
|
|
# ajouter un paquet, l'ajoute comme dépendance dans package.json et met à jour yarn.lock
yarn add <package>
# --dev dépendance nécessaire pour le développement mais pas pour le fonctionnement de l'application
# --peer dans le cas de la publication de son propre paquet.
# --optional dépendance optionnelle, si l'installation échoue l'application utilisera un autre moyen pour fonctionner.
# ajoute un paquet pour le système
yarn global add <package>
# supprimer un paquet
yarn remove <package>
# recherche d'un paquet
npm search <package>
# info sur un package
yarn info <package>
# lister tous les paquets installés
yarn list
# lister les paquets installés
npm list --depth=0
# savoir pourquoi un paquet a été installé
yarn why <package>
# màj interactive
yarn upgrade-interactive
# màj
yarn upgrade [package] --latest # màj à la dernière version
yarn upgrade [package]@3.0.0 --carret # màj package@^3.0.0
# lancer myscript
yarn run <myscript>
# créer le fichier package.json
yarn init
# installation
npm i -g yarn
|
- Les paquets sont ajoutés dans node_modules
- Les paquets globaux sont ajoutés dans %LOCALAPPDATA%\Yarn\Data\global\node_modules ou ~/.config/yarn/global/node_modules
- Ajouter %LOCALAPPDATA%\Yarn\bin ou ~/.config/yarn/global/node_modules/.bin au PATH
- plus rapide
- enregistre la version exacte plutôt que la version majeur dans yarn.lock
- savoir pourquoi un paquet a été installé
yarn why my-package
- mise à jour interactive
yarn upgrade-interactive
npm
|
yarn
|
npm install |
yarn
|
npm install my-package --save-dev |
yarn add my-package --dev
|
npm install my-package -g |
yarn global add my-package
|
npm run myscript |
yarn myscript
|
Migrer depuis npm