错误:EACCES:权限被拒绝,取消链接 - 运行时$ ionic start

时间:2018-05-11 17:38:57

标签: node.js cordova ionic-framework npm

我刚刚开始使用离子,我现在面临一个阻滞剂,它在很早的步骤中运行离子。

我正在使用操作系统:Linux Mint 18 Cinnamon 64 bit

节点版本:v10.0.0(从没有root访问权限的NVM安装)

NPM版本:5.6.0(从没有root访问权限的NVM安装)

我正在关注本教程: https://coursetro.com/posts/code/36/Installing-Ionic-2-&-Starting-a-Project

我安装离子:

$ npm install -g ionic cordova

它返回:

home/brian/.nvm/versions/node/v10.0.0/bin/cordova -> /home/brian/.nvm/versions/node/v10.0.0/lib/node_modules/cordova/bin/cordova
/home/brian/.nvm/versions/node/v10.0.0/bin/ionic -> /home/brian/.nvm/versions/node/v10.0.0/lib/node_modules/ionic/bin/ionic
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules/ionic/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})

    cordova@8.0.0
    ionic@3.20.0
    added 677 packages in 16.679s

然后我检查了是否由$ ionic -v安装了cordova和ionic,它返回

3.20.0

我想这意味着尽管有WARN消息,仍然安装了离子。

然后我尝试运行教程的下一步:

$ ionic start firstProject blank

然后出现此错误:

? The directory firstProject contains file(s) that could conflict. Would you like to overwrite the directory with this new project? Yes
:heavy_multiplication_x: Creating directory ./firstProject - failed!
Error: EACCES: permission denied, unlink ‘/home/brian/firstProject/.editorconfig’

我试图通过以下方式允许该路径:

$ sudo chown -R brian /home/brian/firstProject/.editorconfig

但是,当我运行$ ionic start firstProject blank

时,同样的错误仍然存​​在

我也尝试使用root $ sudo ionic start firstProject blank运行命令,但它返回

sudo: ionic: command not found.

我尝试在没有全局属性的情况下安装离子,但结果是因为npm WARN无法安装它可选SKIPPING OPTIONAL DEPENDENCY:fsevents@1.2.3

有没有人能够解决这类问题?任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

感谢Nidhin的回应,我刚刚解决了这个问题。

我意识到文件夹firstProject已被锁定。所以我的建议是你想使用node和npm,更好地使用NVM安装它,这样你就不用root访问来安装它

让我讲述如何重新创建问题

所以在我从NVM(节点版本管理器)实际安装Node和NPM之前,我首先使用sudo(root access)使用此命令(I followed this reference)从包管理器安装它:

$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - 
$ sudo apt-get install -y nodejs

然后导致我的所有以下npm命令应该使用sudo(用于root访问)。

所以,当我运行这个命令(following this tutorial)时:

$ npm install -g ionic cordova

我无法安装它:

npm WARN checkPermissions Missing write access to /usr/lib/node_modules

我需要使用root访问权来安装它:

$ sudo npm install -g ionic cordova

然后使离子和cordova始终以root访问方式运行 - 我认为你应该避免它!

从这里继续,我按照教程运行下一个命令:

$ ionic start firstProject blank

然后使文件夹/ firstProject /需要root访问权限(参见附件图片)。继续使用sudo并不是一个好主意,因为有时离子在运行它的过程中运行另一个命令。 Folder locked

总之,使用sudo安装Node和NPM并不是一个好主意。我还不知道是否有充分的理由使用sudo,如果你知道原因,请回复评论。

所以关注我的案例,

我实际上已经正确地完成了它:

  1. 从NVM安装Node和NPM
  2. 在没有sudo(root access)的情况下安装ionic和cordova
  3. 只需运行离子启动命令,例如离子启动firstProject空白; 但请先确保没有此名称的现有锁定文件夹(firstProject)。
  4. 我希望它有助于解决您的类似问题。