J'utilise npm v1.4.4 et noeud v0.10.25 on Mac OS X 10.9.2 .
J'ai récemment mis à niveau les noeuds et npm, et npm install
ne crée plus le répertoire .bin dans node_modules.
J'ai supprimé node_modules, essayé npm install
à nouveau, mais le répertoire et les fichiers binaires ne sont jamais créés.
Quelqu'un a-t-il une idée de la raison pour laquelle cela se produit?
Voici mon package.json
:
{
"name": "redacted",
"author": {},
"description": "redacted",
"dependencies": {
},
"devDependencies": {
"karma": "*",
"karma-coverage": "0.1.2",
"karma-junit-reporter": "*",
"karma-coffee-preprocessor": "~0.1",
"grunt": "^0.4.2",
"grunt-contrib-requirejs": "^0.4.3",
"grunt-contrib-concat": "^0.3.0",
"grunt-contrib-sass": "^0.7.2",
"grunt-contrib-htmlmin": "^0.2.0",
"grunt-contrib-cssmin": "^0.7.0",
"grunt-contrib-coffee": "^0.10.1",
"grunt-contrib-uglify": "^0.3.3",
"grunt-contrib-jst": "^0.5.1",
"grunt-contrib-qunit": "^0.4.0",
"grunt-contrib-jshint": "^0.8.0",
"grunt-contrib-watch": "^0.5.3",
"grunt-contrib-jasmine": "^0.6.1",
"grunt-contrib-compress": "^0.6.1",
"grunt-contrib-handlebars": "^0.6.1",
"grunt-contrib-less": "^0.9.0",
"grunt-contrib": "^0.9.0"
}
}
Cela semble être un bug, voir # 4851 .
Le répertoire ./node_modules/.bin
est l'endroit où npm
crée des liens vers le fichier binaire d'un package de nœud. De https://www.npmjs.org/doc/files/npm-folders.html
Exécutables
En mode global, les exécutables sont liés à {Préfixe}/bin sous Unix ou directement au {préfixe} sous Windows.
En mode local, les exécutables sont liés à ./node_modules/.bin afin que Puisse être rendu disponible pour les scripts exécutés via npm. (Par exemple, pour qu'un testeur soit dans le chemin lorsque vous exécutez npm Test.)
Le package.json
que vous avez collé ci-dessus n'a pas de section bin
. Jetez un oeil à cet exemple à partir de npm
's package.json
{
"version": "1.4.9",
"name": "npm",
"publishConfig": {
"proprietary-attribs": false
},
"description": "A package manager for node",
...
...
"main": "./lib/npm.js",
"bin": "./bin/npm-cli.js",
"dependencies": {
"abbrev": "~1.0.4",
"ansi": "~0.2.1",
...
...
Plus précisément, la ligne "bin": "./bin/npm-cli.js"
indiquera à npm
de créer un lien entre ./node_modules/.bin/npm
et node_modules/npm/npm-cli.js
.
Dans mon cas, webpack
fonctionnait en mode veille dans une autre fenêtre de la console. Je n'ai pas eu d'erreur pendant le npm install
, donc ça m'a pris un moment pour le remarquer.
karma
tests en cours ou webpack
en mode veille.node_modules/karma
, ou le dossier entier node_modules
. NPM ne semble pas créer de fichiers lien symbolique dans le dossier .bin si le dossier de dépendance existe déjà.npm install
Avec NPM 6.7.0.
Il semble que toutes vos dépendances soient dev dépendances. Pouvez-vous voir si votre variable d'environnement NODE_ENV
est définie sur production
maintenant? Si oui, vous devrez le changer.
En outre, une erreur est-elle survenue pendant l'installation?
Cela pourrait arriver à cause du npm cassé. Essayez de suivre la commande de npm, dépannage et cela devrait fonctionner correctement.
curl -L https://www.npmjs.org/install.sh | sh