2017-10-20 39 views
0

J'ai vu ce numéro here, mais c'est vieux, j'ai tout essayé et rien ne m'a aidé. J'ai un script qui s'exécute juste après la fin du vagabondage pour installer Ubuntu 17.04. Dans ce script, je fais un sudo npm install --no-bin-links pour installer les dépendances du projet cloné précédemment. Ceci est le package.json:Aucun .bin/dossier avec NPM

{ 
    "name": "project", 
    "version": "1.0.0", 
    "description": "Just a project", 
    "main": "server.js", 
    "author": "author", 
    "private": true, 
    "license": "ISC", 
    "dependencies": { 
    "async": "^2.5.0", 
    "bcrypt": "^1.0.3", 
    "body-parser": "^1.17.2", 
    "connect-redis": "^3.3.0", 
    "cors": "^2.8.4", 
    "dotenv": "^4.0.0", 
    "express": "^4.15.2", 
    "express-rate-limit": "^2.8.0", 
    "express-session": "^1.15.4", 
    "helmet": "^3.8.0", 
    "marked": "^0.3.6", 
    "multer": "^1.3.0", 
    "mv": "^2.1.1", 
    "mysql2": "^1.4.2", 
    "request": "^2.82.0", 
    "sequelize": "^4.13.2" 
    }, 
    "devDependencies": { 
    "chai": "^4.1.2", 
    "chai-http": "^3.0.0", 
    "mocha": "^4.0.1", 
    "sequelize-cli": "^3.0.0" 
    } 
} 

Tout fonctionne bien, sauf les dépendances qui ont besoin d'un dossier .bin, comme mocha ou sequelize-cli. Quand je vais à mon node_modules de mon projet, il n'y a pas de dossier .bin ...

Est-ce que quelqu'un sait pourquoi?

Je cours:
Ubuntu 17.04
Noeud 8.7.0
NPM
Et 5.4.2 tout avec Vagrant et Windows 10.

+0

Avez-vous essayé d'exécuter la commande sans '--no-bin-links'. Quelque chose comme ça: 'sudo npm install' –

+0

J'ai l'erreur de lien symbolique, je ne peux pas utiliser de lien symbolique si elle est errante sur Windows:/ – Wizix

Répondre

0

Vous devez installer via sudo npm install. L'option --no-bin-links empêche npm de adding symlinks dans .bin aux binaires réels dans chaque package installé. AFAIK, and according to this SO question, ceci est seulement utile sur les systèmes sans liens symboliques.

+0

Sans l'erreur de lien symbolique ... Normalement, si c'est [vagabond au-dessus de Windows Je ne peux pas utiliser de lien symbolique] (https://github.com/npm/npm/issues/9901) Je dois écrire '--no-bin-links' – Wizix

+0

Ne fonctionnent-ils pas même si vous les exécutez depuis leur propre site? paquets? Comme './Node_modules/mocha/bin/mocha'? @Wizix –

+0

Oui cela fonctionne. J'ai trouvé le problème, Windows a besoin des droits d'administrateur pour créer les liens symboliques. J'ai juste besoin de courir vagabonder un administrateur! – Wizix