【问题标题】:Expo CLI issue on ubuntuubuntu 上的 Expo CLI 问题
【发布时间】:2020-10-24 13:28:03
【问题描述】:

我已经在我的根目录中下载了 ubuntu 20.04 上的 expo cli,但我无法在全球范围内下载它! 我希望 expo cli 在全球范围内存在,因为不建议通过根目录打开代码编辑器。

这是我的终端显示的内容!

npm ERR! code EACCES
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/yarn/bin/yarn.js
npm ERR! dest /usr/local/bin/yarn
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules/yarn/bin/yarn.js' -> '/usr/local/bin/yarn'
npm ERR!  { [Error: EACCES: permission denied, symlink '../lib/node_modules/yarn/bin/yarn.js' -> '/usr/local/bin/yarn']
npm ERR!   cause:
npm ERR!    { Error: EACCES: permission denied, symlink '../lib/node_modules/yarn/bin/yarn.js' -> '/usr/local/bin/yarn'
npm ERR!      errno: -13,
npm ERR!      code: 'EACCES',
npm ERR!      syscall: 'symlink',
npm ERR!      path: '../lib/node_modules/yarn/bin/yarn.js',
npm ERR!      dest: '/usr/local/bin/yarn' },
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, symlink \'../lib/node_modules/yarn/bin/yarn.js\' -> \'/usr/local/bin/yarn\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'symlink',
npm ERR!   path: '../lib/node_modules/yarn/bin/yarn.js',
npm ERR!   dest: '/usr/local/bin/yarn' }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ritik/.npm/_logs/2020-07-03T19_44_34_737Z-debug.log

【问题讨论】:

  • 您是否尝试通过运行以下命令来安装 expo-cli:npm install -g expo-cli?
  • 是的,我只是这样做了,并得到了上述错误消息

标签: node.js npm yarnpkg expo


【解决方案1】:

这是一个权限问题。您可以使用sudo 来解决此问题,但一般建议不要将npm install 与sudo 一起运行,因为这通常是一个坏主意,您可以阅读更多关于此here 的信息

因此,为了尽量减少此问题,您可以将 npm 配置为使用 npm docs here 中提到的其他目录进行全局包安装

  1. 在命令行中,在您的主目录中,为全局安装创建一个目录:

    mkdir ~/.npm-global
    
  2. 配置 npm 以使用新的目录路径:

    npm config set prefix '~/.npm-global'
    
  3. 在您喜欢的文本编辑器中,打开或创建一个~/.profile 文件并添加以下行:

    export PATH=~/.npm-global/bin:$PATH
    
  4. 在命令行上,更新你的系统变量:

    source ~/.profile
    
  5. 最后尝试全局安装 expo-cli:

    npm install -g expo-cli 
    

或者如果你想要快速修复,你可以试试这个

  1. 打开终端并运行:

    sudo chown -R $USER:$USER /usr/local/lib/node_modules
    
  2. 尝试安装 expo-cli ,运行:

     npm i -g expo-cli  
    

另外考虑避免全局安装并尽可能使用npx阅读更多here

【讨论】:

  • 谢谢,成功了!另一方面,您能否建议一些资源来理解所有这些东西(特别是 linux 部分)
  • 好的,你可以从学习 Linux 开始,互联网上有一些很棒的资源,但例如你可以从 YouTube 开始,这是一个很好的教程播放列表youtube.com/…,对于 node js 和编码一般也从 YouTube 开始,也搜索书籍,稍后我将使用带有一些好书的 github repo 发表评论。另一个资源是codecademy.com,还有freecodecamp.org,udacity.com,udemy.com等等
  • 另外作为一个提醒,因为答案是正确的并且对您有用,您能否将其标记为已接受并支持它。跨度>
猜你喜欢
  • 2020-07-13
  • 1970-01-01
  • 2019-10-08
  • 2020-03-11
  • 2021-11-02
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
相关资源
最近更新 更多