Linux Mint 17.3의 소스에서 Atom을 빌드하려고 하는데 빌드 프로세스가 거의 완료되었습니다. 나는 이 튜토리얼을 따르고 있습니다:https://www.tecmint.com/atom-text-and-source-code-editor-for-linux/오류 도움말을 보려면 다른 페이지를 참조하세요.
방금 다음 명령을 실행했습니다 sudo script/build --create-debian-package --install
. 이 두 가지 옵션 없이 명령을 실행하면 빌드가 제대로 작동하는 것처럼 보이고 출력 끝에 이 두 가지 옵션을 추가하여 소프트웨어를 설치하라는 메시지가 표시됩니다. 그러나 이 두 가지 옵션을 사용할 때 다음 오류가 발생합니다.
Installing modules ✗
> [email protected] install /home/akaash/Git/atom/node_modules/github/node_modules/leveldown
> prebuild-install || node-gyp rebuild
prebuild-install WARN install EACCES: permission denied, mkdir '/home/akaash/Git/atom/node_modules/github/node_modules/leveldown/build'
gyp info it worked if it ends with ok
gyp verb cli [ '/home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/node',
gyp verb cli '/home/akaash/Git/atom/apm/node_modules/atom-package-manager/node_modules/.bin/node-gyp',
gyp verb cli 'rebuild' ]
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "/home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/python-interceptor.sh" in the PATH
gyp verb `which` succeeded /home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/python-interceptor.sh /home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/python-interceptor.sh
gyp verb check python version `/home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/python-interceptor.sh -c "import platform; print(platform.python_version());"` returned: "2.7.6\n"
gyp verb get node dir compiling against --target node version: 2.0.18
gyp verb command install [ '2.0.18' ]
gyp verb install input version string "2.0.18"
gyp verb install installing version: iojs-2.0.18
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: iojs-2.0.18
gyp verb build dir attempting to create "build" dir: /home/akaash/Git/atom/node_modules/github/node_modules/leveldown/build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/akaash/Git/atom/node_modules/github/node_modules/leveldown/build'
gyp ERR! System Linux 3.19.0-32-generic
gyp ERR! command "/home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/node" "/home/akaash/Git/atom/apm/node_modules/atom-package-manager/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /home/akaash/Git/atom/node_modules/github/node_modules/leveldown
gyp ERR! node -v v8.9.3
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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! /home/akaash/.atom/.apm/_logs/2019-03-29T10_14_30_223Z-debug.log
child_process.js:630
throw err;
^
Error: Command failed: /home/akaash/Git/atom/apm/node_modules/atom-package-manager/bin/apm --loglevel=error install
at checkExecSyncError (child_process.js:607:13)
at Object.execFileSync (child_process.js:627:13)
at module.exports (/home/akaash/Git/atom/script/lib/run-apm-install.js:14:16)
at module.exports (/home/akaash/Git/atom/script/lib/transpile-packages-with-custom-transpiler-paths.js:30:7)
at Object.<anonymous> (/home/akaash/Git/atom/script/build:68:3)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
로그를 살펴보니 파일 끝 부분이 위 출력 끝 부분과 동일한 npm 오류입니다. 그러나 대부분의 내용이 무엇을 의미하는지 잘 모르겠습니다.
이 문제를 해결하고 Atom을 올바르게 설치하려면 어떻게 해야 합니까?
편집하다:
"권한 거부" 오류가 있다는 것을 알고 있지만 sudo
. 하지만 그렇지가 않아서 계속 알아보려고 노력 중이에요.
답변1
나는 이 문제에 대한 해결책을 찾은 것 같아요. 여러 가지 수정 방법을 시도했지만 아무 것도 작동하지 않아 도망쳤 sudo chown -R akaash:akaash ~/Git/atom
습니다 script/build --create-debian-package --compress-artifacts --install --unsafe-perm=true --allow-root --global leveldown
.
나는 이 chown
명령이 sudo
.
그러던 중에 다음 웹사이트를 발견했습니다.
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
이로 인해 다음이 수행됩니다.
https://github.com/creationix/nvm
노드 설치 프로그램 대신 노드 버전 관리자를 사용하여 npm을 업데이트하는 방법을 설명합니다.
npm을 업데이트한다는 것을 알고 있지만 도움이 될 수도 있고 그렇지 않을 수도 있습니다. 그러나 제가 시도한 모든 방법을 조합하여 마침내 이 오류가 제거되었습니다.