C'est tellement frustrant .. J'essaye d'installer sequalize pour node.js. Je l'ai installé localement avec succès, mais je ne peux pas l'installer globalement (je reçois des erreurs d'autorisation refusées pour:
-bash: sequelize: command not found
En fait, je ne veux pas vraiment qu'il soit installé globalement, mais quand je l'ai localement et que je devrais configurer et initialiser le module sequelize (en tapant sequelize init: models & sequelize init: config dans le terminal), j'obtiens l'erreur suivante:
\'../lib/node_modules/sequelize-cli/lib/sequelize\').
J'ai donc fait mes devoirs et découvert que l'erreur de commande introuvable pouvait être résolue avec une installation globale ( -bash: sequelize: commande non trouvée ) et pour corriger l'erreur en activant l'installation globale, j'ai changé mon accès utilisateur ( Erreur: EACCES: permission refusé, l'accès à '/ usr / local / lib / node_modules' réagit ), mais cela n'a pas fait l'affaire, j'ai toujours la permission refusée.
Ma question est donc de savoir comment exécuter sequelize init: models et sequelize init: config dans le terminal sans obtenir la commande introuvable?
3 Réponses :
Vous devez installer
$ npx sequelize --help Sequelize CLI [Node: 10.0.0, CLI: 5.5.1, ORM: 5.19.0] sequelize [command] Commands: sequelize db:migrate Run pending migrations sequelize db:migrate:schema:timestamps:add Update migration table to have timestamps sequelize db:migrate:status List the status of all migrations sequelize db:migrate:undo Reverts a migration sequelize db:migrate:undo:all Revert all migrations ran sequelize db:seed Run specified seeder sequelize db:seed:undo Deletes data from the database sequelize db:seed:all Run every seeder sequelize db:seed:undo:all Deletes data from the database sequelize db:create Create database specified by configuration sequelize db:drop Drop database specified by configuration sequelize init Initializes project sequelize init:config Initializes configuration sequelize init:migrations Initializes migrations sequelize init:models Initializes models sequelize init:seeders Initializes seeders sequelize migration:generate Generates a new migration file [aliases: migration:create] sequelize model:generate Generates a model and its migration [aliases: model:create] sequelize seed:generate Generates a new seed file [aliases: seed:create] Options: --help Show help [boolean] --version Show version number [boolean]
Et puis selon la documentation, vous pouvez exécuter la CLI. Pas besoin de l'installer globalement.
npm install --save sequelize npm install --save sequelize-cli
J'ai fait ça, il dit toujours "sequelize: commande not found"
quelle est la sortie de cette commande npm ls | grep sequelize
?
Et avez-vous essayé de l'exécuter comme ce npx sequelize init:models
?
Salut, merci beaucoup pour votre aide, je l'ai résolu en utilisant sudo à la fois sur npm install -g sequelize et npm install sequelize-cli.
La réponse à mon problème a été résolue en l'installant dans le monde entier à l'aide de sudo, comme l'a dit vitamadio dans le commentaire. Donc, l'answear devait l'installer de cette façon:
sudo npm i -g sequelize-cli
puis:
sudo npm install -g sequelize
Vous devez installer comme suit:
npx sequelize init
Installez également npx si vous ne l'avez pas, puis Initialisez sequelize:
npm install --save sequelize npm install --save sequelize-cli
Pour installer des packages globalement, la plupart du temps, vous avez besoin des privilèges root, vous devez donc utiliser sudo et insérer votre mot de passe $ sudo npm install -g sequelize.
Ça a marché! J'ai utilisé sudo à la fois sur npm install -g sequelize et npm install sequelize-cli, puis cela a fonctionné. Merci!
Possibilité de dupliquer -bash: sequelize: commande introuvable
Astuce @vitomadio: si vous devez utiliser sudo lorsque vous utilisez npm, quelque chose ne va pas. Je vous recommande de résoudre ce problème rapidement. C'est super dangereux. Si quelqu'un met un script dans sa "post-installation" pour rm -rf /, il s'exécute automatiquement après l'installation, et vous venez de l'exécuter avec sudo et lui avez donné la permission de supprimer tout votre disque dur.