Resolving EACCES permissions errors when installing packages globally
対策
(推奨)
$ npm install -g npm
2023-02-26 19:03:33 これだとだめだった
$ mkdir ~/.npm-global
$ npm config set prefix '~/.npm-global'
$ export PATH=~/.npm-global/bin:$PATH
$ source ~/.profile
$ bass source ~/.profile
2023-02-26 19:09:54 これでうまく行った
$ npm install -g yarn
$ npm install -g npm
code:err
$yarn set version berry
➤ YN0000: Saving the new release in .yarn/releases/yarn-3.4.1.cjs
➤ YN0001: Error: EACCES: permission denied, unlink '/home/takker/.yarn/releases/yarn-3.4.1.cjs'
➤ YN0000: Failed with errors in 0s 572ms
対処調査
同様にchmodするようだが、細かい方法で論争が起きている
sudo chmod 777 ~/.yarn/してみようtakker.icon
2023-02-26 19:18:46 同じエラーが出てコケた
19:20:43 わからん
code:log
I takker@LAPTOP-MTP9VI50 ~ 1> sudo rm -rf .yarn I takker@LAPTOP-MTP9VI50 ~> yarn set version berry node:internal/modules/cjs/loader:998
throw err;
^
Error: Cannot find module '/home/takker/.yarn/releases/yarn-3.4.1.cjs'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
at Function.Module._load (node:internal/modules/cjs/loader:841:27)
at Function.executeUserEntryPoint as runMain (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:22:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
I takker@LAPTOP-MTP9VI50 ~ 1> npm uninstall -g yarn removed 1 package in 42ms
I takker@LAPTOP-MTP9VI50 ~> npm install -g yarn added 1 package in 893ms
I takker@LAPTOP-MTP9VI50 ~> yarn set version berry node:internal/modules/cjs/loader:998
throw err;
^
Error: Cannot find module '/home/takker/.yarn/releases/yarn-3.4.1.cjs'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
at Function.Module._load (node:internal/modules/cjs/loader:841:27)
at Function.executeUserEntryPoint as runMain (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:22:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
I takker@LAPTOP-MTP9VI50 ~ 1> ~/.yarnは消しちゃダメだったみたい
解決策がわからん!
npmから入れ直すか……
これはsudoつければいいようだ
19:33:29 無理矢理sudo sh ~/git/dotfiles/install_apps.shして、usrにbinaryを入れてしまったのが原因のようだ 片っ端からsudo rm -rfから消していこう
19:35:58 今度はなんだ……
code:err3
$yarn
Internal Error: The "yarn-path" option has been set (in /home/takker/.yarnrc.yml), but the specified location doesn't exist (/home/takker/.yarn/releases/yarn-3.4.1.cjs).
at i (/home/takker/.cache/node/corepack/yarn/3.4.1/yarn.js:446:11180)
at async t (/home/takker/.cache/node/corepack/yarn/3.4.1/yarn.js:446:10283)
そのうちこっちに移すかも