http://docs.grafana.org/project/building_from_source/にある手順に従って、Grafana をビルドし、http://localhost:3000でリッスンするサーバーを起動できますが、CSS は明らかに機能していません。Build the Front-end Assets のビルドコマンドを再実行しようとしましたが、次のシーケンスでエラーが発生します。
npm install
npm install -g grunt-cli
grunt
これらのコマンドをどのディレクトリから実行する必要があるかは明確ではありません。$GOPATH/src/github.com/grafana/grafana を想定していますが、最初のコマンドを実行すると、次のnpm install
ような一連のエラーが表示されます。
npm WARN locking Error: EACCES, open '/Users/sam/.npm/_locks/glob-386d0e7784ce4d2e.lock'
npm WARN locking at Error (native)
npm WARN locking /Users/sam/.npm/_locks/glob-386d0e7784ce4d2e.lock failed { [Error: EACCES, open '/Users/sam/.npm/_locks/glob-386d0e7784ce4d2e.lock']
npm WARN locking errno: -13,
npm WARN locking code: 'EACCES',
npm WARN locking path: '/Users/sam/.npm/_locks/glob-386d0e7784ce4d2e.lock' }
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! Attempt to unlock /Users/sam/Projects/go/src/github.com/grafana/grafana/node_modules/glob, which hasn't been locked
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
ここhttps://nodejs.org/download/docs/latest/からNodeJSをインストールし、npmの/usr/local/binを確認しましたが、存在しますが、インストール時に構成手順を逃したかどうかはわかりません。
実行の次のステップに移ると、次のnpm install -g grunt-cli
ように 1 つのエラー ブロック (前と同様) が表示されます。
npm WARN locking Error: EACCES, open '/Users/sam/.npm/_locks/grunt-cli-58f484dab06f0a30.lock'
npm WARN locking at Error (native)
npm WARN locking /Users/sam/.npm/_locks/grunt-cli-58f484dab06f0a30.lock failed { [Error: EACCES, open '/Users/sam/.npm/_locks/grunt-cli-58f484dab06f0a30.lock']
npm WARN locking errno: -13,
npm WARN locking code: 'EACCES',
npm WARN locking path: '/Users/sam/.npm/_locks/grunt-cli-58f484dab06f0a30.lock' }
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "grunt-cli"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! Attempt to unlock /usr/local/lib/node_modules/grunt-cli, which hasn't been locked
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /Users/sam/Projects/go/src/github.com/grafana/grafana/npm-debug.log
最後に実行するgrunt
と、次の致命的なエラーが発生します。
grunt-cli: The grunt command line interface. (v0.1.13)
Fatal error: Unable to find local grunt.
If you're seeing this message, either a Gruntfile wasn't found or grunt
hasn't been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:
http://gruntjs.com/getting-started
また、プロジェクト ディレクトリに package.json ファイルと Gruntfile.js ファイルがあることも確認しました。以下は、役立つ場合のすべてのファイルのリストです。
09:25:54|~/Projects/go/src/github.com/grafana/grafana$ ls -alF
total 47648
drwxr-xr-x 42 sam staff 1428 Sep 5 21:21 ./
drwxr-xr-x 3 sam staff 102 Sep 5 17:59 ../
-rw-r--r-- 1 sam staff 36 Sep 5 18:02 .bowerrc
-rw-r--r-- 1 sam staff 344 Sep 5 18:02 .bra.toml
-rw-r--r-- 1 sam staff 197 Sep 5 18:02 .editorconfig
drwxr-xr-x 13 sam staff 442 Sep 5 19:28 .git/
-rw-r--r-- 1 sam staff 345 Sep 5 18:02 .gitignore
drwxr-xr-x 3 sam staff 102 Sep 5 18:02 .hooks/
-rw-r--r-- 1 sam staff 418 Sep 5 18:02 .jscs.json
-rw-r--r-- 1 sam staff 287 Sep 5 18:02 .jsfmtrc
-rw-r--r-- 1 sam staff 564 Sep 5 18:02 .jshintrc
-rw-r--r-- 1 sam staff 54566 Sep 5 18:02 CHANGELOG.md
-rw-r--r-- 1 sam staff 571 Sep 5 18:02 CONTRIBUTING.md
drwxr-xr-x 5 sam staff 170 Sep 5 18:02 Godeps/
-rw-r--r--@ 1 sam staff 1289 Sep 5 18:02 Gruntfile.js
-rw-r--r-- 1 sam staff 578 Sep 5 18:02 LICENSE.md
-rw-r--r-- 1 sam staff 638 Sep 5 18:02 NOTICE.md
-rw-r--r-- 1 sam staff 5286 Sep 5 18:02 README.md
-rw-r--r-- 1 sam staff 591 Sep 5 18:02 appveyor.yml
drwxr-xr-x 3 sam staff 102 Sep 5 18:02 benchmarks/
drwxr-xr-x 4 sam staff 136 Sep 5 19:28 bin/
-rw-r--r-- 1 sam staff 569 Sep 5 18:02 bower.json
-rw-r--r-- 1 sam staff 11721 Sep 5 18:02 build.go
-rw-r--r-- 1 sam staff 637 Sep 5 18:02 circle.yml
drwxr-xr-x 5 sam staff 170 Sep 5 18:02 conf/
drwxr-xr-x 5 sam staff 170 Sep 5 18:50 data/
drwxr-xr-x 8 sam staff 272 Sep 5 18:02 docker/
drwxr-xr-x 9 sam staff 306 Sep 5 18:02 docs/
drwxr-xr-x 8 sam staff 272 Sep 5 18:02 emails/
-rw-r--r--@ 1 sam staff 35472 Sep 5 19:46 err.txt
-rwxr-xr-x 1 sam staff 24195460 Sep 5 18:49 grafana*
-rw-r--r-- 1 sam staff 24 Sep 5 18:02 latest.json
-rw-r--r-- 1 sam staff 2857 Sep 5 18:02 main.go
-rw-r--r-- 1 sam staff 6693 Sep 5 21:21 npm-debug.log
-rw-r--r--@ 1 sam staff 1870 Sep 5 18:02 package.json
drwxr-xr-x 4 sam staff 136 Sep 5 18:02 packaging/
drwxr-xr-x 17 sam staff 578 Sep 5 18:02 pkg/
drwxr-xr-x 12 sam staff 408 Sep 5 18:02 public/
drwxr-xr-x 7 sam staff 238 Sep 5 18:02 tasks/
-rwxr-xr-x 1 sam staff 1178 Sep 5 18:02 test.sh*
drwxr-xr-x 3 sam staff 102 Sep 5 18:02 tests/
drwxr-xr-x 3 sam staff 102 Sep 5 18:02 vendor/
./bin/grafana-server
($GOPATH/src/github.com/grafana/grafana から)サーバーを起動すると、期待どおりの出力が得られますが、 http://localhost:3000に移動すると、404 エラーの最後の行が次のように追加されます。
09:27:13|~/Projects/go/src/github.com/grafana/grafana$ ./bin/grafana-server
2015/09/05 21:34:22 [I] Starting Grafana
2015/09/05 21:34:22 [I] Version: 2.2.0-pre1, Commit: v2.1.2+199-gf27f028, Build date: 2015-09-04 08:34:01 -0700 MST
2015/09/05 21:34:22 [I] Configuration Info
Config files:
[0]: /Users/sam/Projects/go/src/github.com/grafana/grafana/conf/defaults.ini
Paths:
home: /Users/sam/Projects/go/src/github.com/grafana/grafana
data: /Users/sam/Projects/go/src/github.com/grafana/grafana/data
logs: /Users/sam/Projects/go/src/github.com/grafana/grafana/data/log
2015/09/05 21:34:22 [I] Database: sqlite3
2015/09/05 21:34:22 [I] Migrator: Starting DB migration
2015/09/05 21:34:22 [I] Listen: http://0.0.0.0:3000
2015/09/05 21:36:33 [I] Completed /css/grafana.dark.min.css 404 Not Found in 1.799267ms
以下は、プロジェクトに含まれていた Gruntfile.js の内容です (つまり、私は書いていません)。
/* jshint node:true */
'use strict';
module.exports = function (grunt) {
var os = require('os');
var config = {
pkg: grunt.file.readJSON('package.json'),
baseDir: '.',
srcDir: 'public',
destDir: 'dist',
tempDir: 'tmp',
arch: os.arch(),
platform: process.platform.replace('win32', 'windows'),
};
if (process.platform.match(/^win/)) {
config.arch = process.env.hasOwnProperty('ProgramFiles(x86)') ? 'x64' : 'x86';
}
config.pkg.version = grunt.option('pkgVer') || config.pkg.version;
// load plugins
require('load-grunt-tasks')(grunt);
// load task definitions
grunt.loadTasks('tasks');
// Utility function to load plugin settings into config
function loadConfig(config,path) {
require('glob').sync('*', {cwd: path}).forEach(function(option) {
var key = option.replace(/\.js$/,'');
// If key already exists, extend it. It is your responsibility to avoid naming collisions
config[key] = config[key] || {};
grunt.util._.extend(config[key], require(path + option)(config,grunt));
});
// technically not required
return config;
}
// Merge that object with what with whatever we have here
loadConfig(config,'./tasks/options/');
// pass the config to grunt
grunt.initConfig(config);
};
また、要求されたため、プロジェクト内のすべての CSS ファイルのリストを以下に示します (ただし、これらが UI で使用される CSS ファイルであるかどうかは正確にはわかりません)。
10:23:03|~/Projects/go/src/github.com/grafana/grafana$ find . -iname "*.css"
./emails/assets/css/ink.css
./emails/assets/css/style.css
./public/vendor/angular/angular-csp.css
./public/vendor/angular-native-dragdrop/demo/css/styles.css
./public/vendor/angular-native-dragdrop/docs/css/styles.css
./public/vendor/css/font-awesome.min.css
./public/vendor/css/normalize.min.css
./public/vendor/css/spectrum.css
./public/vendor/css/timepicker.css
CSS を正しく動作させる方法について何か提案はありますか? 明らかな何かが欠けていると思いますが、数時間これに取り組んでいますが、役立つものは何も見つかりません。ありがとう!