Привязки Node.js для проекта цифровой книги активов

Я работаю через Начало работы с цифровыми активами с привязками Node.js.

Бег

npm install @da/daml-ledger

вызывает следующее сообщение об ошибке

npm ERR! code E401
npm ERR! 401 Unauthorized: @da/daml-ledger@latest

npm ERR! A complete log of this run can be found in:
npm ERR!     /...../.npm/_logs/2019-02-22T17_48_44_560Z-debug.log

вот содержимое этого файла журнала:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/lib/nodejs/node-v10.15.1-linux-x64/bin/node',
1 verbose cli   '/usr/local/lib/nodejs/node-v10.15.1-linux-x64/bin/npm',
1 verbose cli   'install',
1 verbose cli   '@da/daml-ledger' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 99e5e60df68735cb
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 401 https://api.bintray.com/npm/digitalassetsdk/npm/@da%2fdaml-ledger 411ms
8 silly fetchPackageMetaData error for @da/daml-ledger@latest 401 Unauthorized: @da/daml-ledger@latest
9 timing stage:rollbackFailedOptional Completed in 4ms
10 timing stage:runTopLevelLifecycles Completed in 515ms
11 verbose stack Error: 401 Unauthorized: @da/daml-ledger@latest
11 verbose stack     at fetch.then.res (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/fetch.j
s:42:19)
11 verbose stack     at tryCatcher (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
11 verbose stack     at Promise._settlePromiseFromHandler (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/relea
se/promise.js:512:31)
11 verbose stack     at Promise._settlePromise (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/promise.
js:569:18)
11 verbose stack     at Promise._settlePromise0 (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/promise
.js:614:10)
11 verbose stack     at Promise._settlePromises (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/promise
.js:693:18)
11 verbose stack     at Async._drainQueue (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:133:
16)
11 verbose stack     at Async._drainQueues (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:143
:10)
11 verbose stack     at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/nodejs/node-v10.15.1-linux-x64/lib/node_modules/npm/node_modules/blueb
ird/js/release/async.js:17:14)
11 verbose stack     at runCallback (timers.js:705:18)
11 verbose stack     at tryOnImmediate (timers.js:676:5)
11 verbose stack     at processImmediate (timers.js:658:5)
12 verbose cwd /home/vantage/DAnodeBindings
13 verbose Linux 4.15.0-45-generic
14 verbose argv "/usr/local/lib/nodejs/node-v10.15.1-linux-x64/bin/node" "/usr/local/lib/nodejs/node-v10.15.1-linux-x64/bin/npm" "install" "@da/daml-ledger"
15 verbose node v10.15.1
16 verbose npm  v6.4.1
17 error code E401
18 error 401 Unauthorized: @da/daml-ledger@latest
19 verbose exit [ 1, true ]

Я следовал инструкциям на шаге 1 и шаге 2. Мой .npmrc обновляется ответом, который я получил от ввода

curl -umehul@digitalassetsdk:<API_KEY> https://api.bintray.com/npm/digitalassetsdk/npm/auth/scope/da

и я ввел команду

npm config set @da:registry https://api.bintray.com/npm/digitalassetsdk/npm

Что вызывает ошибку?


person Meyer Auslander    schedule 22.02.2019    source источник
comment
Привет Мейер. К сожалению, у Bintray, похоже, в последнее время было несколько проблем, не могли бы вы просто попробовать еще раз несколько раз, чтобы увидеть, удастся ли это?   -  person stefanobaghino    schedule 24.02.2019
comment
Попробовал еще раз, и все еще с той же проблемой.   -  person Meyer Auslander    schedule 25.02.2019
comment
Существуют ли какие-либо требования к тому, что нужно вводить при запуске «npm init»?   -  person Meyer Auslander    schedule 25.02.2019
comment
Когда я пошел обновлять свой .npmrc, я заметил, что его не существует. Поэтому я создал его сам. Может это подскажет в чем проблема??   -  person Meyer Auslander    schedule 25.02.2019
comment
@MeyerAuslander у вас теперь работает после создания и обновления .npmrc? Вот мои .npmrc, которые работают на примере пинг-понга. ``` @da:registry=api.bintray.com/npm/digitalassetsdk/npm //api.bintray.com/npm/digitalassetsdk/npm/:_authToken=[INSERT_YOUR_TOKEN_HERE] //api.bintray.com/npm/digitalassetsdk/npm/:username=daniel.sun@digitalassetsdk //api.bintray. com/npm/digitalassetsdk/npm/:email=null //api.bintray.com/npm/digitalassetsdk/npm/:always-auth=true ```   -  person dsun    schedule 26.02.2019
comment
Да, отсутствие ~/.npmrc определенно является проблемой; как говорится в инструкции, вывод curl as должен быть вставлен (или передан) туда.   -  person stefanobaghino    schedule 26.02.2019
comment
Сегодня npm install @da/daml-ledger работает нормально. Раньше он не работал, хотя я создал файл ~/.npmrc. Я думаю, что проблема с Bintary была исправлена.   -  person Meyer Auslander    schedule 26.02.2019
comment
Но на этот раз я не запускал команду npm config. Кажется, проблема была вызвана npm config, потому что теперь, если я запущу его, а затем повторю попытку запуска npm install @da/daml-ledger, я получу ту же ошибку авторизации, что и вчера...   -  person Meyer Auslander    schedule 26.02.2019
comment
Также я теперь застрял на шаге, который говорит запустить npm install внутри каталога «пинг-понг». Я получаю ту же ошибку авторизации.   -  person Meyer Auslander    schedule 26.02.2019


Ответы (2)


Судя по комментариям, вы пропустили шаг настройки, а именно инструкции говорят вам вставить ответ curl на ~/.npmrc.

Ответ следует вставить в файл ~/.npmrc (в Windows %USERPROFILE%/.npmrc).

В качестве альтернативы в Linux и MacOS вы можете просто передать вывод curl в ~/.npmrc следующим образом:

curl -u<USERNAME>:<API_KEY> https://api.bintray.com/npm/digitalassetsdk/npm/auth/scope/da >> ~/.npmrc

Использование оператора >> сохранит текущее содержимое ~/.npmrc и добавит вывод curl в файл (или создаст его, если его еще нет). Если вы хотите перезаписать текущий файл ~/.npmrc, просто используйте вместо него оператор >.

person stefanobaghino    schedule 26.02.2019

Двоичные инструкции «Настроить меня» (упомянутые в шаге 1.3 https://docs.daml.com/app-dev/bindings-js/getting-started.html) скажите запустить команду curl и запустить

npm config set @<SCOPE>:registry https://api.bintray.com/npm/digitalassetsdk/npm

Когда я пропускаю шаг настройки npm, у меня нет проблем.

person Meyer Auslander    schedule 26.02.2019
comment
Но теперь у меня возникла проблема при получении идентификаторов пакетов (docs.daml.com/packages/bindings-js-docs/). Может быть, потому что я пропустил команду config? Мой template-ids.json выглядит неправильно. Вот содержимое: {Car.Car:{packageId:9158c3e66ac2a78e427307b098f7a45e86ddcb40a9be6a26eea0d363e7b48a10,name:Car.Car}} Должна быть запись для «Ping» и «Pong», а не «Car». - person Meyer Auslander; 26.02.2019