Azure Yeoman即使与sudo一起也会给出权限错误
我在跟踪并安装了Yeoman和Azure的发电机 因此,当我这样做时:Azure Yeoman即使与sudo一起也会给出权限错误,azure,yeoman,azure-service-fabric,yo,Azure,Yeoman,Azure Service Fabric,Yo,我在跟踪并安装了Yeoman和Azure的发电机 因此,当我这样做时:sudo yo azuresfcontainer,它给出了以下错误: /usr/local/lib/node_modules/yo/node_modules/fast-glob/out/providers/reader-sync.js:45 throw err; ^ Error: EACCES: permission denied, scandir '/usr/lib/ssl/
sudo yo azuresfcontainer
,它给出了以下错误:
/usr/local/lib/node_modules/yo/node_modules/fast-glob/out/providers/reader-sync.js:45
throw err;
^
Error: EACCES: permission denied, scandir '/usr/lib/ssl/private'
at Object.fs.readdirSync (fs.js:875:3)
at exports.readdir (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/sync/fs.js:18:20)
at Object.safeCall [as safe] (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/call.js:24:8)
at DirectoryReader.readNextDirectory (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/directory-reader.js:78:10)
at Readable.DirectoryReader.stream._read (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/directory-reader.js:57:18)
at Readable.read (_stream_readable.js:455:10)
at readdirSync (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/sync/index.js:27:21)
at Function.readdirSyncStat (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/index.js:34:10)
at ReaderSync.dynamicApi (/usr/local/lib/node_modules/yo/node_modules/fast-glob/out/providers/reader-sync.js:61:24)
at ReaderSync.api (/usr/local/lib/node_modules/yo/node_modules/fast-glob/out/providers/reader-sync.js:53:25)
Emitted 'error' event at:
at DirectoryReader.emit (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/directory-reader.js:365:14)
at call.safe (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/directory-reader.js:81:14)
at onceWrapper (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/call.js:45:17)
at onceWrapper (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/call.js:45:17)
at exports.readdir (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/sync/fs.js:22:5)
at Object.safeCall [as safe] (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/call.js:24:8)
[... lines matching original stack trace ...]
at readdirSync (/usr/local/lib/node_modules/yo/node_modules/@mrmlnc/readdir-enhanced/lib/sync/index.js:27:21)
我哪里做错了?我不认为你做错了什么。看起来是对约曼的依赖让约曼破产了。这是yeoman环境依赖项,此问题已打开:复制粘贴问题如下: 运行yo时,发生以下错误:错误:EACCES: 权限被拒绝,scandir'/usr/sbin/authserver(MacOS/High Sierra) 罪魁祸首在这里:
// Adds support for generator resolving when yeoman-generator has been linked
if (process.argv[1]) {
paths.push(path.join(path.dirname(process.argv[1]), '../..'));
}
内部getnpmpath()。我的yo位于/usr/local/bin/yo,这增加了
搜索路径=>globby.sync的整个/usr目录
如果某些目录不是用户目录,resolver.FindGeneratorin将抛出
可读的
类似这样的东西解决了这个问题:
try {
modules = modules.concat(globby.sync(
['generator-*', '@*/generator-*'],
{cwd: root, onlyFiles: false, absolute: true}
));
} catch(err) {
debug( 'Could not access %s (%s)', root, err);
}
我可以通过将全局包安装到不同的文件夹来解决这个问题
为了最大限度地减少权限错误,您可以将npm配置为
使用不同的目录。在本例中,它将是一个隐藏的
主文件夹上的目录
在开始之前备份计算机
为全局安装创建目录:
mkdir ~/.npm-global
配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
打开或创建~/.profile文件并添加此行:
export PATH=~/.npm-global/bin:$PATH
返回命令行,更新系统变量:
source ~/.profile
测试:不使用sudo全局下载包
npm install -g jshint
您可以使用相应的ENV变量(例如,如果您不想修改~/.profile),而不是步骤2-4:
我不认为你做错了什么,看起来是约曼的依赖让约曼破产了。这是yeoman环境依赖项,此问题已打开:复制粘贴问题如下: 运行yo时,发生以下错误:错误:EACCES: 权限被拒绝,scandir'/usr/sbin/authserver(MacOS/High Sierra) 罪魁祸首在这里:
// Adds support for generator resolving when yeoman-generator has been linked
if (process.argv[1]) {
paths.push(path.join(path.dirname(process.argv[1]), '../..'));
}
内部getnpmpath()。我的yo位于/usr/local/bin/yo,这增加了
搜索路径=>globby.sync的整个/usr目录
如果某些目录不是用户目录,resolver.FindGeneratorin将抛出
可读的
类似这样的东西解决了这个问题:
try {
modules = modules.concat(globby.sync(
['generator-*', '@*/generator-*'],
{cwd: root, onlyFiles: false, absolute: true}
));
} catch(err) {
debug( 'Could not access %s (%s)', root, err);
}
我可以通过将全局包安装到不同的文件夹来解决这个问题
为了最大限度地减少权限错误,您可以将npm配置为
使用不同的目录。在本例中,它将是一个隐藏的
主文件夹上的目录
在开始之前备份计算机
为全局安装创建目录:
mkdir ~/.npm-global
配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
打开或创建~/.profile文件并添加此行:
export PATH=~/.npm-global/bin:$PATH
返回命令行,更新系统变量:
source ~/.profile
测试:不使用sudo全局下载包
npm install -g jshint
您可以使用相应的ENV变量(例如,如果您不想修改~/.profile),而不是步骤2-4:
yeoman-environment说“发布了一个带有此修复程序的新版本”。所以现在应该可以工作了。yeoman-environment说“发布了带有此修复程序的新版本”。所以现在应该可以工作了。