1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Truffleのインストールに失敗する

Posted at

はじめに

TruffleをDockerのUbuntu環境にインストールしようとしたら、エラーが発生してインストールできなかったので、
解決策をメモ。

結論

npm installをrootユーザーで実施していたため、権限エラーが出ていました。
rootユーザーを許可して解決。

現象

Truffleの公式通りにnpm install -g truffleを実行すると、下記エラーが出て、インストールに失敗しました。

環境

Docker: 20.10.8
Docker上のUbuntu: 20.04

エラー

> node-gyp-build
sh: 1: node-gyp-build: Permission denied
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/truffle/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: iso-constants@0.1.2 (node_modules/truffle/node_modules/iso-constants):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: iso-constants@0.1.2 install: `node build.js > index.browser.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: spawn ENOENT
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! bufferutil@4.0.3 install: `node-gyp-build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the bufferutil@4.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-12T07_36_52_669Z-debug.log

解決策

下記コマンドでrootユーザーでのインストールを許可して、
再度npm install -g truffleを実行するとインストールに成功。

npm config set unsafe-perm true

デフォルトだとunsafe-permの値がfalseになっているそうです。

※上記以外にもnpm installのオプションに--unsafe-permを付けて実行する手もあるようです。
 安全面を考えると一律rootユーザーでのインストールを許可するより
 一時的に許可する方が良さそうです。
 が、今回はローカルで勉強用にいじるTruffle環境を作っているだけなので、試していません。
※そもそも論でnpm installは本来rootユーザーではなく、別途ユーザーを作成して実行するべきなのかも?(調べきれていません。。。)

参考

・【docker】npm installしようとしてnode-gyp: Permission deniedエラー
https://hatolabo.com/programming/docker%E3%81%A7npm-install%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6node-gyp-permission-denied%E3%82%A8%E3%83%A9%E3%83%BC

以上ですー。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?