Установка npm работает только при использовании с sudo - PullRequest
0 голосов
/ 01 июня 2018
npm ERR! code E400
npm ERR! 400 Bad Request: typescript@https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/david/.npm/_logs/2018-06-01T08_01_21_010Z-debug.log

Я получаю эту ошибку, когда запускаю npm, без sudo.С sudo работает нормально.Я исправил все разрешения, установил узел без sudo, но ошибка все еще возникает.

node -v
v8.11.2

npm -v
5.6.0

Edit1: Вот последние строки файла журнала:

9991 verbose stack Error: 400 Bad Request: typescript@https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz
9991 verbose stack     at fetch.then.res (/usr/lib64/node_modules/npm8/node_modules/pacote/lib/fetchers/registry/fetch.js:42:19)
9991 verbose stack     at tryCatcher (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/util.js:16:23)
9991 verbose stack     at Promise._settlePromiseFromHandler (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/promise.js:512:31)
9991 verbose stack     at Promise._settlePromise (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/promise.js:569:18)
9991 verbose stack     at Promise._settlePromise0 (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/promise.js:614:10)
9991 verbose stack     at Promise._settlePromises (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/promise.js:693:18)
9991 verbose stack     at Async._drainQueue (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/async.js:133:16)
9991 verbose stack     at Async._drainQueues (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/async.js:143:10)
9991 verbose stack     at Immediate.Async.drainQueues (/usr/lib64/node_modules/npm8/node_modules/bluebird/js/release/async.js:17:14)
9991 verbose stack     at runCallback (timers.js:810:20)
9991 verbose stack     at tryOnImmediate (timers.js:768:5)
9991 verbose stack     at processImmediate [as _immediateCallback] (timers.js:745:5)
9992 verbose cwd /home/david/Dev/Projects/MobileInfoApp/LHMobileApp
9993 verbose Linux 4.16.12-1-default
9994 verbose argv "/usr/bin/node8" "/usr/bin/npm-default" "i"
9995 verbose node v8.11.2
9996 verbose npm  v5.6.0
9997 error code E400
9998 error 400 Bad Request: typescript@https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz
9999 verbose exit [ 1, true ]

Edit2: я переустановилснова и следуя указаниям, теперь я получаю другую ошибку:

Unhandled rejection Error: invalid config key requested: singleuffer@5.1.2 extracted to /home/david/Dev/Projects/MobileInfoApp/LHMobileApp/n
    at pudGet (/usr/local/lib/node_modules/npm/node_modules/figgy-pudding/index.js:31:11)
    at FiggyPudding.get (/usr/local/lib/node_modules/npm/node_modules/figgy-pudding/index.js:13:12)
    at Object.get (/usr/local/lib/node_modules/npm/node_modules/figgy-pudding/index.js:71:16)
    at _parse (/usr/local/lib/node_modules/npm/node_modules/ssri/index.js:138:12)
    at parse (/usr/local/lib/node_modules/npm/node_modules/ssri/index.js:125:12)
    at Object.checkData (/usr/local/lib/node_modules/npm/node_modules/ssri/index.js:216:9)
    at write (/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/write.js:34:31)
    at putData (/usr/local/lib/node_modules/npm/node_modules/cacache/put.js:25:10)
    at Object.x.put (/usr/local/lib/node_modules/npm/node_modules/cacache/locales/en.js:28:37)
    at readFileAsync.then.data (/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetchers/file.js:38:28)
    at tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:638:18)

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/david/.npm/_logs/2018-06-04T07_53_53_015Z-debug.log

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

Для дистрибутивов Debian, следующее должно позволить вам запустить npm install без sudo.

Измените префикс npm на то, что у вашего пользователя есть разрешение на запись в

npm config set prefix=$HOME/david/

Затем выполните следующую команду и добавьте ее в .bashrc

export PATH=$HOME/david/bin:$PATH

Станьте владельцем / usr / local

sudo chown -R $USER /usr/local

Кредит идет здесь

0 голосов
/ 01 июня 2018

Это определенно проблема с правами доступа к папке.Есть несколько способов решения этой проблемы, которые подробно описаны в этой статье.

Установка модулей глобальных узлов (Linux и Mac)

...